CVE-2026-67302
PoC moderateDivide-by-zero DoS in FreeRDP rdpecam camera redirection client (fixed in 3.29.0)
FreeRDP versions 3.28.0 and earlier contain an integer divide-by-zero (CWE-369) in the rdpecam camera redirection client, where ecam_dev_process_start_streams_request() parses a server-controlled CAM_MEDIA_TYPE_DESCRIPTION from a StartStreamsRequest PDU but validates only Format and Flags, not FrameRateDenominator. A malicious or compromised RDP server can send a StartStreamsRequest with FrameRateDenominator set to zero, causing ecam_encoder_context_init() (channels/rdpecam/client/encoding.c) to compute FrameRateNumerator / FrameRateDenominator and raise a SIGFPE. The attacker gains a crash and termination of the FreeRDP client process — a denial of service only, with no confidentiality or integrity impact (CVSS 4.0 base 5.3, VA:L only). Only FreeRDP clients running affected 3.x versions with camera redirection enabled are reachable, since the channel must be active for the malformed PDU to be processed. No in-the-wild exploitation is known; a public advisory with a proof-of-concept exists (GHSA-v89x-pc32-hqr7) and EPSS assigns a 0.4% probability of exploitation in the next 30 days.
What to do: Upgrade to FreeRDP 3.29.0 or later. As an interim mitigation, disable the camera redirection (rdpecam) channel on affected clients or restrict connections to trusted RDP servers. Audit whether any deployed 3.x clients have camera redirection enabled, particularly in VDI environments where the feature is typically used.
| FreeRDP | <= 3.28.0 (all versions before 3.29.0) |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
FreeRDP before 3.29.0 (affected versions <= 3.28.0) contains a divide-by-zero vulnerability in the rdpecam camera redirection client. ecam_dev_process_start_streams_request() parses a server-controlled CAM_MEDIA_TYPE_DESCRIPTION from a StartStreamsRequest PDU but validates only Format and Flags, not FrameRateDenominator. When a malicious or compromised RDP server sends a StartStreamsRequest with FrameRateDenominator set to zero, ecam_encoder_context_init() (channels/rdpecam/client/encoding.c) computes FrameRateNumerator / FrameRateDenominator, causing an integer division by zero (SIGFPE) and termination of the FreeRDP client process. Camera redirection must be enabled on the client for the channel to be reachable. Fixed in FreeRDP 3.29.0.
- Vendors
- freerdp
- Products
- freerdp
- Weakness
- CWE-369
- Vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
In the news0 stories
No ingested article mentions this CVE yet.