LearnCTEM.com, Best CTEM Learning Platform
CVE Intelligence Hub

CVE-2026-121386: FreeRDP Security Vulnerability

CVE-2026-121386 explained: high Security Vulnerability in FreeRDP. CVSS 8.7. Affected versions, detection, fixes and CTEM priority.

Last updated: Nov 3, 2026

CVSS
8.7 HIGH
EPSS
n/a
CISA KEV
Not listed
CWE
CWE-248

Sources: National Vulnerability Database, CVE.org, CISA KEV, FIRST EPSS

CVE-2026-121386 Overview

FreeRDP before 3.32.2 contains a denial of service vulnerability in WinPR's winpr_read_png_from_buffer() and winpr_convert_from_jpeg(), which lack libpng/libjpeg error handling. A malicious RDP server or MITM can offer a malformed PNG or truncated JPEG clipboard payload, causing the client to abort or exit.

Critical Impact

Remote, unauthenticated attackers can exploit this Security Vulnerability in FreeRDP. The CVSS base score is 8.7 (High).

Affected Products

  • FreeRDP: see the vendor advisory for the exact affected versions

Discovery Timeline

  • 2026-11-03: CVE-2026-121386 published to the National Vulnerability Database by disclosure@vulncheck.com
  • 2026-11-03: last updated in the NVD database

Technical Details for CVE-2026-121386

Vulnerability Analysis

CVE-2026-121386 is a Security Vulnerability weakness (CWE-248) in FreeRDP. Based on its CVSS vector, the flaw can be reached over the network, needs no login, and needs no user interaction.

With a CVSS base score of 8.7, apply the vendor fix and confirm exposure on internet facing and business critical assets first.

Root Cause

The vendor description states: FreeRDP before 3.32.2 contains a denial of service vulnerability in WinPR's winpr_read_png_from_buffer() and winpr_convert_from_jpeg(), which lack libpng/libjpeg error handling. A malicious RDP server or MITM can offer a malformed PNG or truncated JPEG clipboard payload, causing the client to abort or exit.

Attack Vector

Based on the CVSS vector, the flaw can be reached over the network, needs no login, and needs no user interaction. Attack complexity is low complexity.

No exploitation in the wild is confirmed by CISA at the time of the last update. Check the references below for any vendor or researcher proof of concept.

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/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

Detection Methods for CVE-2026-121386

Detection Strategies

  • Inventory every instance of FreeRDP and compare the running version with the affected range above.
  • Check external attack surface scans for internet facing instances of the component.
  • Run an authenticated vulnerability scan once your scanner ships a check for this CVE.

Monitoring Recommendations

  • Forward FreeRDP application, access and audit logs to your SIEM for retrospective hunting.
  • Alert on new processes, configuration changes or outbound connections from the affected service.
  • Track the vendor advisory and the CISA KEV catalog for changes in exploitation status.

How to Mitigate CVE-2026-121386

Immediate Actions Required

  • Apply the fixed version of FreeRDP named in the vendor advisory.
  • Prioritize internet facing and business critical instances first.
  • Rescan after the change to confirm the exposure is closed.

Patch Information

Use the fixed version listed in the vendor advisory for FreeRDP.

Workarounds

  • If patching must wait, restrict network access to the affected service and place it behind authentication or a web application firewall rule.

CWE References

Technical References

This entry is built directly from NVD, CISA KEV and EPSS data. Verify fixed versions in the vendor advisory before you deploy.

Frequently asked questions

CVE-2026-121386 is a high severity Security Vulnerability in FreeRDP with a CVSS score of 8.7. Apply the vendor fix and confirm exposure on internet facing and business critical assets first.

Related CVEs

HIGH8.7
CVE-2026-95842
Moquette

Moquette is a lightweight Java MQTT broker. Prior to 0.18.1, SessionEventLoop.run catches only InterruptedException, and SessionEventLoopGroup does not restart a terminated loop. An MQTT command that raises an uncaught exception can terminate an event loop shared by multiple client sessions, preventing every co-located client from processing PUBLISH, SUBSCRIBE, PUBACK, and other commands. An attacker can select client IDs that map across the available loops to disrupt session processing for the entire broker. This issue is fixed in version 0.18.1.

Sep 23, 2026
HIGH8.7
CVE-2026-119052
llama.cpp b2877

llama.cpp b2877 before b11935 contains an uncaught exception vulnerability in the ggml-rpc server that allows unauthenticated remote attackers to crash the rpc-server by sending oversized message lengths. After the HELLO handshake, attackers can send a command such as SET_TENSOR with a length above std::vector::max_size(), triggering an uncaught std::length_error that aborts the process and denies service to all clients.

Oct 29, 2026
HIGH8.7
CVE-2026-32314
Protocol Yamux

Yamux is a stream multiplexer over reliable, ordered connections such as TCP/IP. Prior to 0.13.10, the Rust implementation of Yamux can panic when processing a crafted inbound Data frame that sets SYN and uses a body length greater than DEFAULT_CREDIT (e.g. 262145). On the first packet of a new inbound stream, stream state is created and a receiver is queued before oversized-body validation completes. When validation fails, the temporary stream is dropped and cleanup may call remove(...).expect("stream not found"), triggering a panic in the connection state machine. This is remotely reachable over a normal Yamux session and does not require authentication. This vulnerability is fixed in 0.13.10.

Mar 16, 2026
HIGH8.7
CVE-2026-33191
Free5gc Udm

Free5GC is an open-source Linux Foundation project for 5th generation (5G) mobile core networks. Versions prior to 1.4.2 are vulnerable to null byte injection in URL path parameters. A remote attacker can inject null bytes (URL-encoded as %00) into the supi path parameter of the UDM's Nudm_SubscriberDataManagement API. This causes URL parsing failure in Go's net/url package with the error "invalid control character in URL", resulting in a 500 Internal Server Error. This null byte injection vulnerability can be exploited for denial of service attacks. When the supi parameter contains null characters, the UDM attempts to construct a URL for UDR that includes these control characters. Go's URL parser rejects them, causing the request to fail with 500 instead of properly validating input and returning 400 Bad Request. This issue has been fixed in version 1.4.2.

Mar 20, 2026
HIGH8.7
CVE-2026-34752
Haraka Project Haraka

Haraka is a Node.js mail server. Prior to version 3.1.4, sending an email with __proto__: as a header name crashes the Haraka worker process. This issue has been patched in version 3.1.4.

Apr 2, 2026
HIGH8.7
CVE-2026-114102
adm-zip

adm-zip before 0.6.1 contains a denial of service vulnerability that allows unauthenticated attackers to crash the Node.js process via a malformed ZIP file, because inflateAsync in methods/inflater.js lacks a zlib stream error listener. Attackers can supply a ZIP with corrupted DEFLATE data processed by readFileAsync, readAsTextAsync, extractAllToAsync, or getDataAsync, triggering an uncatchable exception that terminates all in-flight requests.

Oct 21, 2026
Your next credential

Earn your free CTEM certification.

Learn to scope, prioritize, validate and mobilize fixes for CVEs like CVE-2026-121386 with a free CTEM certification.

Free to takePublicly verifiable

Beginner / Practitioner / Program Leader

Explore certifications