BUG BOUNTYFIELD MANUAL
Vulnerability reference
Markdown
0 / 5 checkedChecks last until this page reloads.

GitLab job token crosses an unintended project boundary

A contribution-controlled job acquires access to a private receiving-project resource beyond the CI integration contract.

Candidate CWE: CWE-863

Test hypothesis#

Use two owned projects and one private synthetic artifact. Compare the same resource request from the intended job context and a disallowed controlled project/actor. Record receiving-project allowlist, feature visibility, fine-grained restrictions, and triggering-user permissions; do not assume allowlisting alone grants access.

Evidence required#

Pipeline and job IDs, source/receiving project IDs, trigger actor, exact canary and allowed/denied results, with token values redacted.

Rule out false positives#

Intentionally public artifacts, an expired token, a denied endpoint, or access deliberately granted to the triggering user and originating project.

Playbook and command references#

Find the associated command snippets

Referenced by these target playbooks#

Report checklist#

  • Capture the affected version, configuration, identities, and object ownership.
  • Preserve a valid baseline and a negative control.
  • Reproduce the forbidden data access, action, or state change on controlled fixtures.
  • Explain the intended security rule and why the observed behavior violates it.
  • State prerequisites, uncertainty, cleanup, and the smallest demonstrated impact.

Conditional ATT&CK mapping#

No direct ATT&CK mapping selected. Record the weakness and demonstrated impact without forcing an adversary-behavior classification. See the mapping guide.

Primary references#

Back to the complete vulnerability catalog