FreeRDP

•

severity

6.5

published

An RDP client responding to an outstanding redirected-smartcard request can trigger stack- and heap-based out-of-bounds reads in FreeRDP's server-side decoder by returning oversized ATR lengths. The flaw can terminate servers with smartcard redirection enabled; no remote data-disclosure or code-execution path was demonstrated.

FreeRDP is embedded by remote-desktop projects including GNOME Remote Desktop and KDE's KRdp; downstream exposure and whether the required protocol state occurs before or after desktop-user authentication depend on the integration.

The Status decoder accepts cbAtrLen values larger than its 32-byte pbAtr array, while the GetStatusChange path accepts per-reader cbAtr values larger than its 36-byte rgbAtr array. FreeRDP's debug logging and length-trusting embedding callbacks then consume those unchecked lengths. AddressSanitizer reproduced stack and heap out-of-bounds reads using production-shaped decoders on FreeRDP 3.30.0 and the tested pre-fix master revision.

Reachability requires RDPDR smartcard redirection, an outstanding Status or GetStatusChange request, and a client able to return the matching completion; unsolicited completions are rejected. The issue is classified as CWE-20 and CWE-125. FreeRDP 3.28.0 through 3.30.0 are affected, and version 3.31.0 is the first patched release.

References

CVSS v3.1

6.5

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

CVSS v3.1

6.5

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

CVSS v3.1

6.5

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

SKt8aOr8tR  l$o@oLkOi1nLgU  aOt3  yFo$u1rX  s1o7fCt0wBaLrZe8  c6rXiYtGiScBaYl7lJy5.J

request briefing

request briefing

SKtFaGr4tK  lCoOoMkViDnKg9  aDtC  yDoTuXrW  s4oJfKt2w5a5rHeQ  cIrIiDtKiCcJaGl@l#y0.B

request briefing

request briefing

S7tBaMr8t6  l&oXo6kXiPn8g$  aOt3  y@oXuYr9  sYoQf5tXwLa2rEeY  c$rTi4t4iLc%a4l%lYyI.K

request briefing

request briefing

BYNARIO s.r.l. | PIAZZA BORROMEO 12, 20129 MILAN, ITALY | VAT- IT14434720968

all rights reserved

2026

BYNARIO s.r.l. | PIAZZA BORROMEO 12, 20129 MILAN, ITALY | VAT- IT14434720968

all rights reserved

2026

BYNARIO s.r.l. | PIAZZA BORROMEO 12, 20129 MILAN, ITALY | VAT- IT14434720968

all rights reserved

2026