{"id":"CVE-2026-111880","kind":"vulnerability","aliases":["CVE-2026-111880"],"related":[],"title":"FreeRDP: crafted NTLM message writes past heap buffer, unauthenticated","description":"FreeRDP versions from 2.0.0 before 3.32.0 contain a heap out-of-bounds write in the server hash-callback NTLM path that fails to validate the MIC offset. Unauthenticated attackers can send a crafted AUTHENTICATE_MESSAGE with a backward session-key offset and MIC offset to write 16 zero bytes beyond the allocation.","summary":"FreeRDP's server-side NTLM hash-callback path does not validate the MIC offset in AUTHENTICATE_MESSAGE, so a crafted message makes it write 16 zero bytes past an allocation. An unauthenticated attacker who can reach the RDP server can trigger this heap out-of-bounds write.","severity":"high","cvss":8.3,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["freerdp","package","rdp-server","self-hosted","windows-remote-access"],"not_affected_if":["client-only","no-rdp-server"],"how_to_check":"- Run `xfreerdp /version` or check the installed FreeRDP package version on hosts running a FreeRDP server\n- Check whether the server build is at or above `3.32.0`; versions from `2.0.0` up to but not including `3.32.0` are affected","fix":"- Upgrade FreeRDP to `3.32.0` or later\n- Until patched, restrict network access to the RDP server port to trusted hosts","status":"open","published_at":"2026-10-17T19:16:28+00:00","first_seen_at":"2026-10-23T21:57:14+00:00","triaged_at":"2026-10-25T03:02:32+00:00","updated_at":"2026-10-25T03:02:32+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-25T03:02:32Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade FreeRDP to `3.32.0` or later\n- Until patched, restrict network access to the RDP server port to trusted hosts","reach":"network","title":"FreeRDP: crafted NTLM message writes past heap buffer, unauthenticated","impact":"high","summary":"FreeRDP's server-side NTLM hash-callback path does not validate the MIC offset in AUTHENTICATE_MESSAGE, so a crafted message makes it write 16 zero bytes past an allocation. An unauthenticated attacker who can reach the RDP server can trigger this heap out-of-bounds write.","category":"package","nicknames":[],"who_cares":["freerdp","rdp-server","self-hosted","windows-remote-access"],"confidence":0.6,"needs_auth":"no","worst_case":"Heap memory corruption from unauthenticated network input, possible code execution","analyst_note":"Check the NVD entry and FreeRDP advisory for whether the server must enable NTLM or a specific feature, and confirm the exact fixed version.","how_to_check":"- Run `xfreerdp /version` or check the installed FreeRDP package version on hosts running a FreeRDP server\n- Check whether the server build is at or above `3.32.0`; versions from `2.0.0` up to but not including `3.32.0` are affected","needs_analyst":true,"not_affected_if":["client-only","no-rdp-server"],"who_is_affected":"Systems running FreeRDP in server mode, since the flaw is in the server hash-callback NTLM path; client-only installs are not described as exposed. Teams that only use FreeRDP as a client or run no FreeRDP server can skip it. Exposure depends on whether the RDP listener is reachable from untrusted networks.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000656,"input_tokens":3358,"output_tokens":641,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-111880':12A,15A '-2026':11A,14A '16':54B,127C '2.0.0':81C '3.32.0':83C 'access':27B 'alloc':59B,132C 'attack':62B,108C 'authent':45B,113C 'backward':117C 'beyond':130C 'bound':76B,90C 'buffer':8A 'byte':56B,129C 'callback':36B,97C 'contain':84C 'craft':2A,49B,112C 'cve':10A,13A 'fail':101C 'freerdp':1A,16B,28B,78C 'hash':35B,96C 'hash-callback':34B,95C 'heap':7A,72B,86C 'host':23B 'key':120C 'make':51B 'messag':4A,46B,50B,114C 'mic':42B,105C,123C 'ntlm':3A,33B,98C 'offset':43B,106C,121C,124C 'out-of-bound':73B,87C 'packag':17B 'past':6A,57B 'path':37B,99C 'rdp':19B,67B 'rdp-server':18B 'reach':65B 'remot':26B 'self':22B 'self-host':21B 'send':110C 'server':20B,31B,68B,94C 'server-sid':30B 'session':119C 'session-key':118C 'side':32B 'trigger':70B 'unauthent':9A,61B,107C 'valid':40B,103C 'version':79C 'window':25B 'windows-remote-access':24B 'write':5A,53B,77B,91C,126C 'zero':55B,128C","nicknames":[],"mitigations":[],"who_affected":"Systems running FreeRDP in server mode, since the flaw is in the server hash-callback NTLM path; client-only installs are not described as exposed. Teams that only use FreeRDP as a client or run no FreeRDP server can skip it. Exposure depends on whether the RDP listener is reachable from untrusted networks.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-17T19:16:28+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/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","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-111880","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-111880","severity":null,"published_at":"2026-10-17T19:16:28+00:00","modified_at":"2026-10-19T21:14:14+00:00","first_seen_at":"2026-10-23T21:57:14+00:00","fetched_at":"2026-10-23T22:28:55+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}