{"id":"CVE-2026-33987","summary":"FreeRDP: Persistent Cache bmpSize Desync - Heap OOB Write","details":"FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.24.2, in persistent_cache_read_entry_v3() in libfreerdp/cache/persistent.c, persistent-\u003ebmpSize is updated before winpr_aligned_recalloc(). If realloc fails, bmpSize is inflated while bmpData points to the old buffer. This issue has been patched in version 3.24.2.","aliases":["GHSA-ff8h-p5vc-wcwc"],"modified":"2026-08-18T18:39:59.078024Z","published":"2026-03-30T21:43:39.943Z","related":["ALSA-2026:16014","SUSE-SU-2026:21436-1","SUSE-SU-2026:22194-1","SUSE-SU-2026:3562-1","openSUSE-SU-2026:10633-1","openSUSE-SU-2026:20657-1","openSUSE-SU-2026:21116-1"],"database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-122","CWE-131"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/33xxx/CVE-2026-33987.json","unresolved_ranges":[{"extracted_events":[{"fixed":"3.24.2"}],"source":"AFFECTED_FIELD"}]},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/33xxx/CVE-2026-33987.json"},{"type":"ADVISORY","url":"https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-ff8h-p5vc-wcwc"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-33987"},{"type":"FIX","url":"https://github.com/FreeRDP/FreeRDP/commit/1a890eb43492b5eb707cb3dd6fc908f696e8fc1c"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/freerdp/freerdp","events":[{"introduced":"0"},{"fixed":"1a890eb43492b5eb707cb3dd6fc908f696e8fc1c"}],"database_specific":{"source":"REFERENCES"}}],"versions":["3.5.1","3.5.0","3.4.0","3.3.0","3.2.0","3.1.0","3.0.0","3.0.0-rc0","3.0.0-beta4","3.0.0-beta3","3.0.0-beta2","3.0.0-beta1","2.0.0","2.0.0-rc4","2.0.0-rc3","2.0.0-rc2","2.0.0-rc1","2.0.0-rc0","2.0.0-beta1+android11","2.0.0-beta1+android10","1.2.0-beta1+android9","1.2.0-beta1+android7","1.1.0-beta+2013071101","1.1.0-beta1+ios4","1.1.0-beta1+android5","1.1.0-beta1+android4","1.1.0-beta1+ios3","1.1.0-beta1+ios2","1.1.0-beta1+android3","1.1.0-beta1+android2","1.1.0-beta1+ios1","1.1.0-beta1","1.0.1","1.0.0","1.0-beta5","1.0-beta4","1.0-beta2","1.0-beta1"],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-33987.json","vanir_signatures_modified":"2026-08-18T18:39:59Z","vanir_signatures":[{"deprecated":false,"digest":{"function_hash":"58849993226555931899617891628358983411","length":820},"id":"CVE-2026-33987-62f5ba09","signature_type":"Function","signature_version":"v1","source":"https://github.com/freerdp/freerdp/commit/1a890eb43492b5eb707cb3dd6fc908f696e8fc1c","target":{"file":"libfreerdp/cache/persistent.c","function":"persistent_cache_read_entry_v3"}},{"signature_type":"Line","signature_version":"v1","source":"https://github.com/freerdp/freerdp/commit/1a890eb43492b5eb707cb3dd6fc908f696e8fc1c","target":{"file":"libfreerdp/cache/persistent.c"},"deprecated":false,"digest":{"line_hashes":["144084934384106105920872457981353433934","252484022160513035315998983559827960592","80475519738261571471892685644252625415","120215690817063648745482991951086479253","283660500509183273599708544240430802885","111622323690931993230872939770812941841","284999338403165042300272883371066573313","100639442879197902970668115181337658042","132553429521796369032411175878856853722","267128613490396365009740424161732530253","331635876019041395468286895483750668562","265666975278017193830018786440831874747","201035385124278947501646915920142299613","50206377966656712332946526692353488670","69725854626787657515895215948089303242","168604599710556692462205224083263298979"],"threshold":0.9},"id":"CVE-2026-33987-faf56e79"}]}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H"}]}