CVE-2026-121386: 
NixOS Analyse et atténuation de la vulnérabilité

Aperçu

CVE-2026-121386 is a denial-of-service vulnerability in FreeRDP's WinPR image processing functions winpr_read_png_from_buffer() and winpr_convert_from_jpeg(), which lack proper libpng/libjpeg error handling. A malicious RDP server or man-in-the-middle (MITM) attacker can deliver a malformed PNG or truncated JPEG clipboard payload to cause the FreeRDP client to abort (SIGABRT) or exit. All FreeRDP versions before 3.32.2 are affected; the vulnerability was disclosed on November 3, 2026. It carries a CVSS v3.1 score of 7.5 (High) and a CVSS v4.0 score of 8.7 (High) (GitHub Advisory, FreeRDP Advisory).

Détails techniques

The root cause is classified as CWE-248 (Uncaught Exception): two image reader functions in winpr/libwinpr/utils/image.c fail to install the error-handling contexts required by their underlying libraries for untrusted input. In winpr_read_png_from_buffer(), libpng structs are created and png_read_png() is called without a setjmp(png_jmpbuf(png_ptr)) handler; when libpng encounters a malformed PNG, its default error handler calls png_longjmp() with no jump target, triggering abort() (SIGABRT). In winpr_convert_from_jpeg(), jpeg_std_error() is used without overriding error_exit, so libjpeg's default handler calls exit(EXIT_FAILURE) directly on any library error, bypassing all goto fail cleanup paths. Both functions are reachable via winpr_image_read_buffer() in the clipboard synthesis path (winpr/libwinpr/clipboard/synthetic.c), meaning any RDP server or MITM controlling clipboard content can trigger the crash with as few as 12 bytes (PNG) or 62 bytes (JPEG) of crafted data (FreeRDP Advisory).

Impact

Successful exploitation causes the FreeRDP client process to terminate abruptly — either via SIGABRT (PNG case) or exit(EXIT_FAILURE) (JPEG case) — resulting in a complete loss of the RDP session and any unsaved state in co-operating local applications. The impact is limited to availability; there is no confidentiality or integrity compromise, and no memory corruption or code execution is possible. An attacker who can repeatedly offer malformed clipboard payloads can keep the client persistently unusable (FreeRDP Advisory, GitHub Advisory).

Exploitabilité

No public proof-of-concept exploit code has been observed, and there is no evidence of in-the-wild exploitation at this time (GitHub Advisory). The vulnerability was discovered and reported with AI assistance using a libFuzzer harness (FuzzImage.c); libFuzzer found the PNG abort within 55 executions using a 12-byte input. The EPSS score is 0.0, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. No threat actor attribution is available. The attack requires no authentication, no user interaction, and no special privileges — only the ability to act as or intercept an RDP server connection (FreeRDP Advisory).

Étapes d’exploitation

  1. Establish attacker-controlled RDP server or MITM position: Set up a rogue RDP server (e.g., using a custom RDP implementation) or position the attacker between the FreeRDP client and a legitimate server to intercept and modify RDP traffic.
  2. Wait for or trigger clipboard format negotiation: When the FreeRDP client connects, the RDP protocol allows the server to advertise clipboard formats. The attacker advertises an image clipboard format (e.g., image/png or image/jpeg) to the client.
  3. Deliver malformed image payload: When the client requests the clipboard data, respond with a crafted malformed payload — for example, a 12-byte truncated PNG (iVBORw0KGgoAAAAA decoded from base64) or a 62-byte truncated JPEG (/9j/4AAQSkZJRgAB... decoded from base64).
  4. Trigger client crash: The FreeRDP client passes the attacker-supplied bytes to winpr_image_read_buffer(), which routes them to winpr_read_png_from_buffer() or winpr_convert_from_jpeg(). Due to missing error handlers, libpng calls abort() (SIGABRT) or libjpeg calls exit(EXIT_FAILURE), terminating the client process.
  5. Repeat for persistent DoS: Re-offer the malformed clipboard format each time the client reconnects to keep the session persistently unavailable (FreeRDP Advisory).

Indicateurs de compromis

  • Process: FreeRDP client process (xfreerdp, wlfreerdp, or similar) terminating unexpectedly with signal 6 (SIGABRT) or exit code from exit(EXIT_FAILURE) shortly after clipboard interaction with an RDP server.
  • Logs: System logs (e.g., /var/log/syslog, journalctl) showing Aborted (core dumped) or abnormal termination of the FreeRDP process; libpng error messages such as libpng error: bad adaptive filter value preceding the crash.
  • Network: RDP clipboard channel traffic (CLIPRDR virtual channel) containing unusually small or malformed image payloads (e.g., PNG magic bytes 89 50 4E 47 followed by fewer than expected bytes, or JPEG magic FF D8 FF with truncated data) from the server to the client.
  • File System: Core dump files generated in the FreeRDP working directory or system core dump location following unexpected process termination (FreeRDP Advisory).

Atténuation et solutions de contournement

Upgrade FreeRDP to version 3.32.2 or later, which includes the fix adding proper setjmp/longjmp error handling to both winpr_read_png_from_buffer() and winpr_convert_from_jpeg(), as well as winpr_convert_to_jpeg() (FreeRDP Advisory, GitHub Advisory). As a workaround where upgrading is not immediately possible, restrict FreeRDP client connections to trusted, verified RDP servers only, and use secure network channels (VPN or TLS) to prevent MITM attacks that could deliver malicious clipboard payloads. Note that builds using WITH_LODEPNG (instead of libpng) are not affected by the PNG case, as lodepng returns error codes rather than calling abort().

Réactions de la communauté

Red Hat has filed a high-severity bug report (Bugzilla #2565870) tracking the vulnerability for affected Red Hat and Fedora packages (Red Hat Bugzilla). The original advisory was submitted to the FreeRDP project with AI assistance and included a detailed fuzzing harness and patch, reflecting growing use of automated vulnerability discovery tools in open-source security research (FreeRDP Advisory). No significant broader media coverage or notable social media commentary has been observed at this time.

Ressources supplémentaires

État de correction de la distribution Linux

Corrigez la disponibilité entre les grandes distributions Linux et leurs versions.

Debian

Affecté

bookworm

freerdp2

Affecté

sid

freerdp3: 3.32.2+dfsg-1

Fixé

trixie

freerdp3

Affecté

Ubuntu

Inconnu

bionic (esm-apps)

freerdp

Inconnu

bionic (esm-infra)

freerdp2

Inconnu

devel

freerdp3

Inconnu

focal (esm-infra)

freerdp2

Inconnu

jammy

freerdp2

Inconnu

noble

freerdp2

Inconnu

noble (esm-apps)

freerdp2

Inconnu

resolute

freerdp3

Inconnu

RHEL / CentOS

Fixé

RHEL 8

freerdp.src

Affecté

RHEL 9

freerdp.src

Affecté

RHEL 10

freerdp-2:3.32.2-1.el10_2.src

Fixé

Source: Ce rapport a été généré à l’aide de l’IA

Connexe NixOS Vulnérabilités :

CVE ID

Gravité

Partition

Technologies

Nom du composant

Exploit CISA KEV

A corrigé

Date de publication

CVE-2026-120757MEDIUM6.9
  • NixOS logoNixOS
  • hdf5
NonOuiNov 03, 2026
CVE-2026-120758MEDIUM5.4
  • NixOS logoNixOS
  • hdf5
NonOuiNov 03, 2026
CVE-2026-120755MEDIUM4.7
  • NixOS logoNixOS
  • hdf5
NonNonNov 03, 2026
CVE-2026-120756LOW1.9
  • NixOS logoNixOS
  • cpe:2.3:a:hdfgroup:hdf5
NonOuiNov 03, 2026
CVE-2026-120754LOW1.9
  • NixOS logoNixOS
  • hdf5
NonNonNov 03, 2026

Évaluation gratuite des vulnérabilités

Évaluez votre posture de sécurité cloud

Évaluez vos pratiques de sécurité cloud dans 9 domaines de sécurité afin d’évaluer votre niveau de risque et d’identifier les lacunes dans vos défenses.

Évaluation de la demande

Ressources Wiz supplémentaires

Obtenez une démo personnalisée

Prêt(e) à voir Wiz en action ?

"La meilleure expérience utilisateur que j’ai jamais vue, offre une visibilité totale sur les workloads cloud."
David EstlickRSSI
"Wiz fournit une interface unique pour voir ce qui se passe dans nos environnements cloud."
Adam FletcherChef du service de sécurité
"Nous savons que si Wiz identifie quelque chose comme critique, c’est qu’il l’est réellement."
Greg PoniatowskiResponsable de la gestion des menaces et des vulnérabilités