CVE-2026-39959
C# vulnerability analysis and mitigation

Overview

CVE-2026-39959 is a set of vulnerabilities in the .NET D-Bus libraries Tmds.DBus and Tmds.DBus.Protocol that allow malicious peers on the same D-Bus to spoof signals, exhaust system resources, and crash applications. Affected versions include Tmds.DBus < 0.92.0 and Tmds.DBus.Protocol < 0.21.3 (and >= 0.22.0, < 0.92.0). The advisory was published on April 8, 2026, and assigned CVE-2026-39959 on April 9, 2026. It carries a CVSS v3.1 base score of 7.1 (High) (GitHub Advisory, GHSA).

Technical details

The vulnerability encompasses three distinct attack classes rooted in insufficient input validation and missing resource controls in the D-Bus message handling logic. First, signal spoofing (CWE-290: Authentication Bypass by Spoofing) allows a local peer to impersonate the owner of a well-known D-Bus name and send fraudulent signals to other bus participants. Second, resource exhaustion (CWE-400/CWE-770: Uncontrolled Resource Consumption / Allocation Without Limits) is possible by sending messages carrying an excessive number of Unix file descriptors, leading to file descriptor spillover and system resource depletion. Third, denial of service is achievable by crafting malformed D-Bus message bodies that trigger unhandled exceptions on the application's SynchronizationContext, crashing the process. All three attack vectors require only local bus access with low privileges and no user interaction (GitHub Advisory, GHSA).

Impact

Successful exploitation can result in high integrity impact — through spoofed D-Bus signals that may cause consuming applications to act on falsified data — and high availability impact via application crashes or system-wide file descriptor exhaustion. Confidentiality is not directly impacted. Applications relying on D-Bus for inter-process communication (IPC) on Linux systems using these .NET libraries are at risk, and integrity compromise through signal spoofing could potentially be leveraged to influence privileged service behavior on the same bus (GitHub Advisory, GHSA).

Exploitation steps

  1. Gain local access: Obtain a low-privileged local account or process on a system running an application that uses Tmds.DBus or Tmds.DBus.Protocol (version < 0.92.0 / < 0.21.3).
  2. Connect to the D-Bus: Use a D-Bus client (e.g., dbus-send, gdbus, or a custom .NET D-Bus client) to connect to the same session or system bus as the target application.
  3. Signal spoofing: Craft and send a D-Bus signal message that impersonates the owner of a well-known bus name (e.g., org.example.Service), causing the vulnerable library to accept and process the forged signal as legitimate.
  4. File descriptor exhaustion: Send D-Bus messages containing an abnormally large number of attached Unix file descriptors to exhaust the target process's or system's file descriptor limits, causing resource spillover.
  5. Crash via malformed message: Send a D-Bus message with a deliberately malformed message body (e.g., invalid type signatures or truncated data) to trigger an unhandled exception on the application's SynchronizationContext, crashing the target process (GHSA).

Indicators of compromise

  • Logs: Application logs showing unhandled exceptions originating from SynchronizationContext in .NET processes using Tmds.DBus; D-Bus daemon logs (/var/log/syslog or journalctl) showing unusual message patterns from unexpected senders.
  • File System: Presence of Tmds.DBus or Tmds.DBus.Protocol NuGet packages with versions < 0.92.0 or < 0.21.3 in application dependency directories.
  • Process: Unexpected crashes or restarts of .NET services that use D-Bus IPC; processes hitting file descriptor limits (/proc/<pid>/fd showing near-maximum open descriptors).
  • Network/IPC: D-Bus monitor output (via dbus-monitor) showing signals from unexpected senders claiming ownership of well-known names, or messages with unusually high numbers of attached file descriptors (GHSA).

Mitigation and workarounds

Patches are available and upgrading is the only remediation — no known workarounds exist. Users of Tmds.DBus should upgrade to version 0.92.0. Users of Tmds.DBus.Protocol should upgrade to 0.21.3 (backport) or 0.92.0. Update NuGet package references in project files and rebuild/redeploy affected applications (GitHub Advisory, GHSA).

Additional resources


SourceThis report was generated using AI

Related C# vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

GHSA-p5rm-jg5c-8c77MEDIUM6.1
  • C# logoC#
  • Microsoft.OpenApi.Kiota
NoYesJul 24, 2026
CVE-2026-62946MEDIUM5.1
  • C# logoC#
  • Magick.NET-Q8-x86
NoYesJul 24, 2026
CVE-2026-62363MEDIUM5
  • C# logoC#
  • Magick.NET-Q8-AnyCPU
NoYesJul 24, 2026
CVE-2026-62343MEDIUM4.7
  • C# logoC#
  • Magick.NET-Q8-x86
NoYesJul 24, 2026
GHSA-464c-974j-9xm6LOW3.3
  • JavaScript logoJavaScript
  • @aws-cdk/aws-codebuild
NoYesJul 24, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management