Security Resilience

CVE-2023-6840

Access Control in Gitlab 16.4.0 – 16.6.7

Published
07 February 2024
Modified
21 November 2024
CVSS Score v3.1 6.7
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:H/A:H
EPSS Score 0.0056 46th percentile
Risk Priority 51 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2023-6840 is a medium-severity Missing Authorization (CWE-862) vulnerability in Gitlab Gitlab. Its CVSS base score is 6.7 (Medium).

Operationally, ranked at the 46th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to AC-24 (Access Control Decisions) and AC-25 (Reference Monitor) — see the control section below for these in your framework.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

An issue has been discovered in GitLab EE affecting all versions from 16.4 prior to 16.6.7, 16.7 prior to 16.7.5, and 16.8 prior to 16.8.2 which allows a maintainer to change the name of a protected branch that bypasses the…

more

security policy added to block MR.

CWE(s)

Related Threats

CVEs Like This One

CVE-2023-2233Same product: Gitlab Gitlab
CVE-2023-5061Same product: Gitlab Gitlab
CVE-2025-5121Same product: Gitlab Gitlab
CVE-2023-6955Same product: Gitlab Gitlab
CVE-2023-0805Same product: Gitlab Gitlab
CVE-2024-12431Same product: Gitlab Gitlab
CVE-2024-3115Same product: Gitlab Gitlab
CVE-2025-11702Same product: Gitlab Gitlab
CVE-2024-1539Same product: Gitlab Gitlab
CVE-2024-4660Same product: Gitlab Gitlab

Affected Assets

gitlab
gitlab
16.4.0 — 16.6.7 · 16.7.0 — 16.7.5 · 16.8.0 — 16.8.2

Mitigating Controls

Mitigating Controls (NIST 800-53 r5) AI

AC-3 directly requires enforcement of authorization decisions on every access request, structurally eliminating missing authorization checks.

AC-24 mandates that access control decisions are applied to each request, preventing bypass of authorization logic.

AC-25 requires a tamperproof, always-invoked reference monitor that ensures authorization checks cannot be omitted.

AC-6 reduces the set of actions reachable without proper authorization, limiting blast radius of missing checks.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

blocks

Requiring formal authorization of every access request before rights are granted ensures that checks for required permissions are performed, preventing missing authorization checks from being introduced.

blocks

A.5.18's provisioning, review, revocation and activation steps (incl. owner approval, SoD, timely removal on role/termination change) directly stop exploitation of missing authorization checks by ensuring no actor receives or retains rights to resources they should not access; the bounded remainder is that it cannot stop missing-authorization defects inside the enforcement mechanism itself once rights have been granted (e.g. flawed code that ignores the rights table).

finds

By requiring competent outsiders to verify that every function enforces the need-to-know principle, the control lowers the likelihood that missing authorization checks persist undetected.

blocks

A.5.8 integrates risk assessment, requirements elicitation and governance into the project lifecycle so that authorization needs can be identified and specified; it does not itself perform or enforce authorization checks, so the missing-authorization weakness can still be present and exploitable.

blocks

Security checkpoints and explicit authorization requirements in the design phase ensure that every sensitive function is paired with an access-control check, reducing missing-authorization defects.

blocks

A.8.27 mandates security-by-design principles (least privilege, default deny, security architecture integration, zero-trust never-trust/always-verify, dynamic access control) plus design reviews that directly specify and enforce authorization checks before access; this stops most missing-authorization cases from being exploitable, with a bounded remainder in non-architectural or legacy components where the principles were documented but not fully applied.

Hardening callouts derived

DISA STIG baselines are authored against specific weaknesses. Where this CVE cites a broad weakness class, the mapping is not asserted at that abstraction (owner ruling, 2026-09-25: grade only at Base and below), so no rule is shown here rather than a rule shown against the wrong grain.

  • No fine-grained STIG row for CWE-862, a class-level weakness, and none of its children carries one either.

References