FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.24.2, in yuv_ensure_buffer() in libfreerdp/codec/h264.c, h264->width and h264->height are updated before the reallocation loop. If any winpr_aligned_recalloc() call fails, the function returns FALSE but width/height are already inflated. This issue has been patched in version 3.24.2.
{
"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-33986.json",
"unresolved_ranges": [
{
"extracted_events": [
{
"fixed": "3.24.2"
}
],
"source": "AFFECTED_FIELD"
}
]
}"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-33986.json"
[
{
"deprecated": false,
"digest": {
"function_hash": "172850258780086269431260710151986143315",
"length": 1322
},
"id": "CVE-2026-33986-2d3fb466",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/freerdp/freerdp/commit/f6e43e208958140074ae9bb93cd0c9045a371c77",
"target": {
"file": "libfreerdp/codec/h264.c",
"function": "yuv_ensure_buffer"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"74394165335505443325400846450578214993",
"57000031411417770646776585790722478912",
"61809315941507778020543086733847748815",
"12234297497225349781847023638155668651",
"284571293220291470971549570489460076496",
"243274070205429467887542360603720301941",
"252665451964816204409499113154037703003",
"240522512309630831697827857464120036961",
"63023319149774050960125992398873200987"
],
"threshold": 0.9
},
"id": "CVE-2026-33986-440bd98d",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/freerdp/freerdp/commit/f6e43e208958140074ae9bb93cd0c9045a371c77",
"target": {
"file": "libfreerdp/codec/h264.c"
}
}
]
"2026-08-12T16:25:02Z"