{"id":"CVE-2026-63633","aliases":[],"url":"https://o3.security/vulnerability/CVE-2026-63633","summary":"FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.28.0, freerdp_dsp_decode_opus in libfreerdp/codec/dsp.c calls Stream_EnsureRemainingCapacity on context->common.buffer…","details":"FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.28.0, freerdp_dsp_decode_opus in libfreerdp/codec/dsp.c calls Stream_EnsureRemainingCapacity on context->common.buffer even though opus_decode writes decoded PCM into the caller-supplied out stream. A malicious RDP server that negotiates WAVE_FORMAT_OPUS with a client built with WITH_OPUS enabled and WITH_DSP_FFMPEG disabled can make libopus write a large decoded frame beyond the 4096-byte StreamPool_Take destination used by channels/rdpsnd/client/rdpsnd_main.c. This can corrupt the client heap, crash the client, and may permit code execution. This issue is fixed in version 3.28.0.","published":"2026-08-19T18:17:10.017","modified":"2026-08-19T18:17:10.017","cvss":null,"epss":null,"cisaKev":null,"exploitsKnown":null,"affectedPackages":[],"fix":{"url":"https://github.com/FreeRDP/FreeRDP/commit/0ed1f95d36913581cf31124f94eb5843d4263eae","label":"FreeRDP/FreeRDP@0ed1f95"},"references":[{"type":"WEB","url":"https://github.com/FreeRDP/FreeRDP/commit/0ed1f95d36913581cf31124f94eb5843d4263eae"},{"type":"WEB","url":"https://github.com/FreeRDP/FreeRDP/pull/12993"},{"type":"WEB","url":"https://github.com/FreeRDP/FreeRDP/releases/tag/3.28.0"},{"type":"WEB","url":"https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-72j9-356v-88xq"}],"provenance":{"sources":["OSV.dev","NVD","FIRST.org (EPSS)"],"lastVerified":"2026-08-19T18:17:10.017"}}