{"id":"CVE-2026-121398","kind":"vulnerability","aliases":["CVE-2026-121398"],"related":[],"title":"FreeRDP proxy: use-after-free during teardown lets a malicious target crash it","description":"FreeRDP before 3.32.2 contains a cross-thread use-after-free vulnerability in the freerdp-proxy dyn-channel-dump module during session teardown. A malicious RDP target can send dynamic channel data while the front client disconnects, letting the client thread read freed ChannelData and crash the proxy process.","summary":"FreeRDP before 3.32.2 has a cross-thread use-after-free in the freerdp-proxy dyn-channel-dump module during session teardown. A malicious RDP target can send dynamic channel data while the front client disconnects, making the proxy process read freed memory and crash.","severity":"high","cvss":8.2,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["freerdp","freerdp-proxy","rdp","runtime","self-hosted"],"not_affected_if":["no-freerdp-proxy","trusted-targets-only"],"how_to_check":"- Check the installed FreeRDP version with `xfreerdp --version` or your package manager.\n- Look for freerdp-proxy and whether the dyn-channel-dump module is enabled in its configuration.","fix":"- FreeRDP: move to `3.32.2` or later.","status":"open","published_at":"2026-11-03T15:17:27+00:00","first_seen_at":"2026-11-03T15:21:57+00:00","triaged_at":"2026-11-03T15:22:47+00:00","updated_at":"2026-11-03T15:22:47+00:00","category":"runtime","confidence":0.6,"triage":{"at":"2026-11-03T15:22:47Z","model":"claude-haiku-5-5","output":{"fix":"- FreeRDP: move to `3.32.2` or later.","reach":"network","title":"FreeRDP proxy: use-after-free during teardown lets a malicious target crash it","impact":"low","summary":"FreeRDP before 3.32.2 has a cross-thread use-after-free in the freerdp-proxy dyn-channel-dump module during session teardown. A malicious RDP target can send dynamic channel data while the front client disconnects, making the proxy process read freed memory and crash.","audience":"businesses","category":"runtime","nicknames":[],"who_cares":["freerdp","freerdp-proxy","rdp","self-hosted"],"confidence":0.6,"fix_status":"available","needs_auth":"unknown","worst_case":"proxy process crashes, causing denial of service","analyst_note":"Confirm whether dyn-channel-dump is built or enabled by default and whether code execution is possible beyond a crash, using the vendor advisory linked in the sources.","how_to_check":"- Check the installed FreeRDP version with `xfreerdp --version` or your package manager.\n- Look for freerdp-proxy and whether the dyn-channel-dump module is enabled in its configuration.","plain_action":"","needs_analyst":true,"not_affected_if":["no-freerdp-proxy","trusted-targets-only"],"who_is_affected":"Teams that run freerdp-proxy in front of RDP targets they do not fully trust, especially with the dyn-channel-dump module in use. Direct RDP clients that never run the proxy component are not exposed through this flaw. The sources do not say whether the default build enables dyn-channel-dump.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000718,"input_tokens":4185,"output_tokens":600,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-121398':16A,19A '-2026':15A,18A '3.32.2':31B,79C 'channel':48B,61B,97C,110C 'channeldata':123C 'client':66B,115C,119C 'contain':80C 'crash':13A,76B,125C 'cross':35B,83C 'cross-thread':34B,82C 'cve':14A,17A 'data':62B,111C 'disconnect':67B,116C 'dump':49B,98C 'dyn':47B,96C 'dyn-channel-dump':46B,95C 'dynam':60B,109C 'free':6A,40B,88C 'freed':73B,122C 'freerdp':1A,20B,22B,29B,44B,77C,93C 'freerdp-proxi':21B,43B,92C 'front':65B,114C 'host':28B 'let':9A,117C 'make':68B 'malici':11A,55B,104C 'memori':74B 'modul':50B,99C 'process':71B,128C 'proxi':2A,23B,45B,70B,94C,127C 'rdp':24B,56B,105C 'read':72B,121C 'runtim':25B 'self':27B 'self-host':26B 'send':59B,108C 'session':52B,101C 'target':12A,57B,106C 'teardown':8A,53B,102C 'thread':36B,84C,120C 'use':4A,38B,86C 'use-after-fre':3A,37B,85C 'vulner':89C","nicknames":[],"mitigations":[],"who_affected":"Teams that run freerdp-proxy in front of RDP targets they do not fully trust, especially with the dyn-channel-dump module in use. Direct RDP clients that never run the proxy component are not exposed through this flaw. The sources do not say whether the default build enables dyn-channel-dump.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["freerdp","freerdpproxy","high","rdp","runtime","selfhosted"],"first_public_at":"2026-10-19T12:10:51+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/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-121398","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-121398","severity":null,"published_at":"2026-11-03T15:17:27+00:00","modified_at":"2026-11-03T15:17:27+00:00","first_seen_at":"2026-11-03T15:21:57+00:00","fetched_at":"2026-11-03T15:21:57+00:00","note":null}],"documents":[{"id":58319,"url":"https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-v3q2-qjvf-7rqw","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-10-19T12:10:51+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"},{"id":58320,"url":"https://www.vulncheck.com/advisories/freerdp-before-3.32.2-use-after-free-via-dyn-channel-dump-module","title":"Third-party advisory: www.vulncheck.com","kind":"advisory","source":"nvd","publisher":"research","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Third-party advisory: www.vulncheck.com"}],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}