NIXPKGS-2026-0054
published on 20 Jan 2026
by @LeSuisse Activity log
- Created automatic suggestion
- @LeSuisse accepted
- @LeSuisse published on GitHub
Heap-use-after-free in update_pointer_new
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.21.0, `xf_Pointer_New` frees `cursorPixels` on failure, then `pointer_free` calls `xf_Pointer_Free` and frees it again, triggering ASan UAF. A malicious server can trigger a client‑side use after free, causing a crash (DoS) and potential heap corruption with code‑execution risk depending on allocator behavior and surrounding heap layout. Version 3.21.0 contains a patch for the issue.
References
- https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-qcrr-85qx-4p6x x_refsource_CONFIRM
- https://github.com/FreeRDP/FreeRDP/blob/3370e30e92a021eb680892dda14d642bc8b8727c/client/X11/xf_graphics.c#L312-L319 x_refsource_MISC
- https://github.com/FreeRDP/FreeRDP/blob/3370e30e92a021eb680892dda14d642bc8b8727c/client/X11/xf_graphics.c#L340 x_refsource_MISC
- https://github.com/FreeRDP/FreeRDP/blob/3370e30e92a021eb680892dda14d642bc8b8727c/libfreerdp/cache/pointer.c#L164-L174 x_refsource_MISC
- https://github.com/FreeRDP/FreeRDP/releases/tag/3.21.0 x_refsource_MISC
- https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-qcrr-85qx-4p6x x_refsource_CONFIRM
- https://github.com/FreeRDP/FreeRDP/blob/3370e30e92a021eb680892dda14d642bc8b8727c/client/X11/xf_graphics.c#L312-L319 x_refsource_MISC
- https://github.com/FreeRDP/FreeRDP/blob/3370e30e92a021eb680892dda14d642bc8b8727c/client/X11/xf_graphics.c#L340 x_refsource_MISC
- https://github.com/FreeRDP/FreeRDP/blob/3370e30e92a021eb680892dda14d642bc8b8727c/libfreerdp/cache/pointer.c#L164-L174 x_refsource_MISC
- https://github.com/FreeRDP/FreeRDP/releases/tag/3.21.0 x_refsource_MISC
Affected products
FreeRDP
- ==< 3.21.0
Package maintainers
-
@peterhoeg Peter Hoeg <peter@hoeg.com>