CVE-2023-3915: Incorrect Execution-Assigned Permissions in GitLab
An issue has been discovered in GitLab EE affecting all versions starting from 16.1 before 16.1.5, all versions starting from 16.2 before 16.2.5, all versions starting from 16.3 before 16.3.1. If an external user is given an owner role on any group, that external user may escalate their privileges on the instance by creating a service account in that group. This service account is not classified as external and may be used to access internal projects.
Security readout for executives and security teams
Plain-English summary
GitLab EE could let an external user with group owner permissions create a service account that is treated as internal. That account may access internal projects, creating confidentiality and integrity risk beyond the intended external-user boundary.
Executive priority
Prioritize remediation on self-managed GitLab EE environments that allow external collaborators. The issue is not broadly unauthenticated, but it can cross project visibility boundaries and expose internal code or data if external owners exist.
Technical view
CVE-2023-3915 is a CWE-279 permissions issue in GitLab EE 16.1, 16.2, and 16.3 before fixed point releases. The flaw requires an external user to already have owner role on any group. Created service accounts were not classified as external, enabling access to internal projects.
Likely exposure
Exposure is limited to GitLab EE instances on 16.1 before 16.1.5, 16.2 before 16.2.5, or 16.3 before 16.3.1, especially where external users have group owner roles.
Exploitation context
The source bundle does not show active exploitation, and KEV is false. Public issue and HackerOne references indicate technical details exist. Practical misuse requires high privileges first: an external account must already be group owner.
Researcher notes
Focus assessment on permission boundaries between external users, group ownership, service account creation, and internal project visibility. Avoid assuming all GitLab editions or versions are affected beyond the listed EE ranges.
Mitigation direction
Upgrade affected GitLab EE branches to 16.1.5, 16.2.5, 16.3.1, or a later supported fixed release.
Review all external users with owner roles on groups.
Remove unnecessary external owner assignments.
Audit service accounts created in groups owned by external users.
Check GitLab vendor guidance for any additional cleanup or hardening.
Validation and detection
Confirm GitLab EE version and branch against the affected ranges.
List external users with group owner permissions.
Review service accounts created during the affected-version window.
Check whether those service accounts can access internal projects.
Verify post-upgrade behavior prevents external users from creating non-external service accounts.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-279: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.