GitLab

How to exploit parser differentials

Mar 30, 2020Joern Schneeweisz
How to exploit parser differentials
SummaryAI, from the source post

This post details a security vulnerability in GitLab's Conan package upload functionality. It explains how `gitlab-workhorse` and `gitlab-rails` parse HTTP requests differently, leading to a parser differential. An attacker could exploit this by sending a POST request with an overridden HTTP method (`X-HTTP-METHOD-OVERRIDE: PUT`) to `gitlab-rails`, bypassing `gitlab-workhorse`'s routing and potentially accessing arbitrary files from `/tmp` by manipulating the `file.path` parameter. The vulnerability was patched by implementing request signing in `gitlab-workhorse` and verification in `gitlab-rails`.

More from the GitLab Workhorse trail