Privilege Escalation via Pipeline Schedule Update in GitLab
A vulnerability in GitLab (versions 9.2 before 16.4.3, 16.5 before 16.5.3, and 16.6 before 16.6.1) allows a user with the Developer role to update a pipeline schedule from an unprotected branch to a protected branch. This bypasses intended access controls that restrict modifications to protected branches, potentially allowing unauthorized changes to critical code or deployment processes.
What it means and what to do now: patch path, interim mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
A Developer-level user can escalate privileges by updating pipeline schedules to target protected branches, which are typically reserved for higher-privileged users. This could lead to unauthorized code execution, deployment of unreviewed code, or other actions reserved for maintainers or administrators, undermining the integrity of the protected branch workflow.
If you can’t patch tonight, do this now.
Restrict Developer role permissions where possible, audit pipeline schedules for unauthorized changes, and monitor protected branch activity until the patch can be applied.
Patch, then assume compromise.
Upgrade GitLab to version 16.4.3, 16.5.3, or 16.6.1 or later, where the vulnerability has been addressed and proper access controls are enforced for pipeline schedule updates involving protected branches.
No public exploits tracked yet. Mallory keeps watching.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
1 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.