{"id":"CVE-2026-111381","kind":"vulnerability","aliases":["CVE-2026-111381"],"related":[],"title":"FreeRDP: crafted persistent cache file overflows heap, enabling code execution","description":"FreeRDP before 3.32.0 contains a heap buffer overflow vulnerability in persistent_cache_read_entry_v2 that allows local attackers to corrupt heap memory via integer wraparound in bitmap size calculation. Attackers can craft a persistent cache v2 file with oversized width and height values that causes mismatched entry size accounting and fixed 16 KiB reads, leading to crashes or code execution when loaded.","summary":"FreeRDP before 3.32.0 has a heap buffer overflow in persistent_cache_read_entry_v2 caused by integer wraparound in a bitmap size calculation. A local attacker who supplies a crafted persistent cache v2 file can corrupt heap memory, causing crashes or possibly code execution when the file is loaded.","severity":"high","cvss":7.3,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"freerdp","fixed":["3.32.0"],"affected":"< 3.32.0","ecosystem":"vendor"}],"ecosystems":["vendor"],"tags":["freerdp","linux","package","rdp-clients","windows"],"not_affected_if":["freerdp-3.32.0-or-later","no-freerdp-installed"],"how_to_check":"- Run `xfreerdp --version` or `freerdp --version` and compare against `3.32.0`\n- Check the installed FreeRDP package version with your OS package manager (for example `dpkg -l | grep freerdp`)","fix":"- Upgrade FreeRDP to `3.32.0` or later\n- Rebuild any applications that statically bundle FreeRDP libraries","status":"open","published_at":"2026-10-16T03:18:05+00:00","first_seen_at":"2026-10-23T21:57:12+00:00","triaged_at":"2026-10-25T03:27:34+00:00","updated_at":"2026-10-25T03:27:34+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-25T03:27:34Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade FreeRDP to `3.32.0` or later\n- Rebuild any applications that statically bundle FreeRDP libraries","reach":"local","title":"FreeRDP: crafted persistent cache file overflows heap, enabling code execution","impact":"high","summary":"FreeRDP before 3.32.0 has a heap buffer overflow in persistent_cache_read_entry_v2 caused by integer wraparound in a bitmap size calculation. A local attacker who supplies a crafted persistent cache v2 file can corrupt heap memory, causing crashes or possibly code execution when the file is loaded.","category":"package","nicknames":[],"who_cares":["freerdp","rdp-clients","linux","windows"],"confidence":0.6,"needs_auth":"unknown","worst_case":"Heap memory corruption could lead to code execution on the client","analyst_note":"Confirm the persistent cache v2 load path and whether a remote server can supply the cache file; check the NVD entry and FreeRDP 3.32.0 release notes for the affected code path.","how_to_check":"- Run `xfreerdp --version` or `freerdp --version` and compare against `3.32.0`\n- Check the installed FreeRDP package version with your OS package manager (for example `dpkg -l | grep freerdp`)","needs_analyst":true,"not_affected_if":["freerdp-3.32.0-or-later","no-freerdp-installed"],"who_is_affected":"Systems that have FreeRDP before 3.32.0 installed and that load persistent bitmap cache v2 files, which is the case for client-side use of FreeRDP. The sources describe a local attack that needs a malicious cache file to be loaded, so exposure is limited to machines where an attacker can place or swap that file. Hosts that do not run FreeRDP can skip this.","user_interaction":"unknown","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000673,"input_tokens":3400,"output_tokens":666,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-111381':13A,16A '-2026':12A,15A '16':126C '3.32.0':27B,76C 'account':123C 'allow':90C 'attack':50B,92C,104C 'bitmap':45B,101C 'buffer':31B,80C 'cach':4A,35B,56B,85C,109C 'calcul':47B,103C 'caus':39B,63B,119C 'client':23B 'code':9A,67B,133C 'contain':77C 'corrupt':60B,94C 'craft':2A,54B,106C 'crash':64B,131C 'cve':11A,14A 'enabl':8A 'entri':37B,87C,121C 'execut':10A,68B,134C 'file':5A,58B,71B,111C 'fix':125C 'freerdp':1A,17A,18B,25B,74C 'heap':7A,30B,61B,79C,95C 'height':116C 'integ':41B,98C 'kib':127C 'lead':129C 'linux':19B 'load':73B,136C 'local':49B,91C 'memori':62B,96C 'mismatch':120C 'overflow':6A,32B,81C 'overs':113C 'packag':20B 'persist':3A,34B,55B,84C,108C 'possibl':66B 'rdp':22B 'rdp-client':21B 'read':36B,86C,128C 'size':46B,102C,122C 'suppli':52B 'v2':38B,57B,88C,110C 'valu':117C 'via':97C 'vulner':82C 'width':114C 'window':24B 'wraparound':42B,99C","nicknames":[],"mitigations":[],"who_affected":"Systems that have FreeRDP before 3.32.0 installed and that load persistent bitmap cache v2 files, which is the case for client-side use of FreeRDP. The sources describe a local attack that needs a malicious cache file to be loaded, so exposure is limited to machines where an attacker can place or swap that file. Hosts that do not run FreeRDP can skip this.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-16T03:18:05+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:P/VC:H/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-111381","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-111381","severity":null,"published_at":"2026-10-16T03:18:05+00:00","modified_at":"2026-10-20T15:34:27+00:00","first_seen_at":"2026-10-23T21:57:12+00:00","fetched_at":"2026-10-23T22:28:54+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"}