GitLab: GitLab Email Feature Vulnerability Lets Attackers Push Code Into Private Repositories

GitLab: GitLab Email Feature Vulnerability Lets Attackers Push Code Into Private Repositories

GitLab Email Feature Exploited as Repository Compromise Vector

On September 23, 2026, security researcher Joe Leon of Aikido Security disclosed a critical flaw in GitLab’s "Email work item to this project" feature, which could allow attackers to compromise repositories if the private incoming-email address is exposed. The vulnerability stems from a long-lived glimt- token embedded in the address, which GitLab confirms does not expire and must remain confidential.

The issue extends beyond spam: while the feature appears project-specific, Aikido found that addresses across different projects share the same account-level token. Attackers can manipulate the email subject to replace -issue with -merge-request, attach a malicious Git patch, and execute it under the victim’s permissions. This could lead to unauthorized commits, including to protected branches like main, with actions appearing under the compromised user’s identity.

A particularly concerning finding is that GitLab’s IP restrictions intended to limit access do not apply to incoming emails. Aikido demonstrated that even when a private project was configured to accept only a specific IP, GitLab still processed emailed patches, bypassing network controls. GitLab has since updated its documentation to clarify that incoming email is exempt from IP allowlists.

Exploitation requires the private address and basic project details (e.g., path and ID), which are publicly available for open repositories. For private projects, attackers would need additional leaked information. Notably, GitLab does not verify that emails originate from the token owner’s account, though the company has opened an issue to explore such validation.

GitLab has addressed the disclosure by updating its interface and documentation to emphasize token secrecy, reset procedures, and the risks of merge requests via email. However, the underlying email mechanism remains unchanged. Organizations are advised to audit repositories, logs, and public-facing assets for exposed glimt- addresses and reset tokens if compromised, as well as review affected users’ permissions and pipeline configurations.

Source: https://cybersecuritynews.com/gitlab-email-private-repository-flaw/

GitLab TPRM report: https://www.rankiteo.com/company/gitlab-com

"id": "git1790180743",
"linkid": "gitlab-com",
"type": "Vulnerability",
"date": "9/2026",
"severity": "85",
"impact": "4",
"explanation": "Attack with significant impact with customers data leaks"
{'affected_entities': [{'customers_affected': 'All GitLab users with exposed '
                                              '*glimt-* tokens or '
                                              'misconfigured repositories',
                        'industry': 'Technology/DevOps',
                        'name': 'GitLab',
                        'type': 'Software Development Platform'}],
 'attack_vector': 'Email-based exploit (malicious Git patch attachments)',
 'customer_advisories': 'GitLab customers are advised to audit their '
                        'repositories for exposed *glimt-* tokens, reset '
                        'compromised tokens, and review user permissions and '
                        'pipeline configurations.',
 'data_breach': {'file_types_exposed': 'Git patches, repository files',
                 'personally_identifiable_information': 'User identities '
                                                        '(commit authorship)',
                 'sensitivity_of_data': 'Moderate to High (depends on '
                                        'repository contents)',
                 'type_of_data_compromised': 'Repository code, configurations, '
                                             'and potentially sensitive '
                                             'project details'},
 'date_detected': '2026-09-23',
 'date_publicly_disclosed': '2026-09-23',
 'description': "A critical flaw in GitLab’s 'Email work item to this project' "
                'feature was disclosed, allowing attackers to compromise '
                'repositories if the private incoming-email address '
                '(containing a long-lived *glimt-* token) is exposed. '
                'Attackers could manipulate email subjects to create malicious '
                'merge requests with Git patches, bypass IP restrictions, and '
                'execute unauthorized commits under the victim’s identity, '
                'including to protected branches.',
 'impact': {'brand_reputation_impact': 'Moderate (public disclosure of '
                                       'vulnerability, potential misuse of '
                                       'compromised repositories)',
            'data_compromised': 'Repository code and configurations',
            'identity_theft_risk': 'Low (user identities could be impersonated '
                                   'for commits)',
            'operational_impact': 'Unauthorized code changes, potential '
                                  'pipeline disruptions, and compromised user '
                                  'permissions',
            'systems_affected': 'GitLab repositories (public and private)'},
 'initial_access_broker': {'backdoors_established': 'Unauthorized merge '
                                                    'requests/commits under '
                                                    'victim’s identity',
                           'entry_point': 'Exposed *glimt-* token in '
                                          'incoming-email address',
                           'high_value_targets': 'Protected branches (e.g., '
                                                 '*main*) and repositories '
                                                 'with sensitive code'},
 'investigation_status': 'Disclosed and partially mitigated (documentation '
                         'updates; underlying mechanism unchanged)',
 'lessons_learned': 'Long-lived tokens in sensitive features pose significant '
                    'risks; IP restrictions may not apply to all attack '
                    'vectors (e.g., email); private project details can be '
                    'exposed if repository metadata is public; email-based '
                    'workflows require additional validation to prevent abuse.',
 'post_incident_analysis': {'corrective_actions': ['GitLab opened an issue to '
                                                   'explore email origin '
                                                   'validation',
                                                   'Updated documentation to '
                                                   'clarify risks and reset '
                                                   'procedures',
                                                   'Emphasized token secrecy '
                                                   'in the interface'],
                            'root_causes': ['Long-lived *glimt-* token with no '
                                            'expiration or rotation policy',
                                            'Lack of IP restriction '
                                            'enforcement for email-based '
                                            'interactions',
                                            'No validation of email origin '
                                            '(sender vs. token owner)',
                                            'Shared account-level token across '
                                            'multiple projects']},
 'recommendations': ['Audit all repositories for exposed *glimt-* tokens and '
                     'reset them if compromised.',
                     'Review and restrict user permissions, especially for '
                     'protected branches.',
                     'Monitor logs for unauthorized merge requests or commits '
                     'via email.',
                     'Avoid exposing private incoming-email addresses in '
                     'public repositories or documentation.',
                     'Implement additional validation for email-based '
                     'workflows (e.g., origin verification).',
                     'Educate users on the risks of email-based repository '
                     'interactions.'],
 'references': [{'date_accessed': '2026-09-23', 'source': 'Aikido Security'}],
 'response': {'communication_strategy': 'Public disclosure via security '
                                        'researcher; GitLab updated '
                                        'documentation to clarify risks',
              'containment_measures': 'GitLab updated documentation and '
                                      'interface to emphasize token secrecy '
                                      'and reset procedures',
              'remediation_measures': 'Audit repositories/logs for exposed '
                                      '*glimt-* tokens; reset compromised '
                                      'tokens; review affected users’ '
                                      'permissions and pipeline configurations',
              'third_party_assistance': 'Aikido Security (researcher Joe '
                                        'Leon)'},
 'stakeholder_advisories': 'GitLab users and administrators should review '
                           'repository configurations, reset exposed tokens, '
                           'and monitor for unauthorized activity.',
 'title': 'GitLab Email Feature Exploited as Repository Compromise Vector',
 'type': 'Repository Compromise',
 'vulnerability_exploited': 'Long-lived *glimt-* token in GitLab’s '
                            'incoming-email feature; lack of IP restriction '
                            'enforcement for emails; no email origin '
                            'validation'}
Great! Next, complete checkout for full access to Rankiteo Blog.
Welcome back! You've successfully signed in.
You've successfully subscribed to Rankiteo Blog.
Success! Your account is fully activated, you now have access to all content.
Success! Your billing info has been updated.
Your billing was not updated.