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