CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



GHSA-XRW6-GWF8-VVR9

GHSA-XRW6-GWF8-VVR9: Signal Spoofing and Resource Exhaustion in Tmds.DBus

Amit Schendel
Amit Schendel
Senior Security Researcher

Apr 9, 2026·6 min read·52 visits

Executive Summary (TL;DR)

Tmds.DBus and Tmds.DBus.Protocol are vulnerable to D-Bus signal spoofing and file descriptor exhaustion. Attackers with local D-Bus access can forge signals or crash applications by exhausting file handles. The maintainers have fixed these issues in versions 0.21.3 and 0.92.0.

The GHSA-XRW6-GWF8-VVR9 vulnerability identifies multiple high-severity flaws in the Tmds.DBus and Tmds.DBus.Protocol .NET libraries. These components fail to properly authenticate the sender of D-Bus signals and mishandle file descriptor lifecycle operations during message parsing. A local unprivileged attacker connected to the D-Bus system or session bus can exploit these issues to execute denial-of-service attacks or manipulate application logic via spoofed signals.

Vulnerability Overview

The GHSA-XRW6-GWF8-VVR9 vulnerability affects the Tmds.DBus and Tmds.DBus.Protocol .NET libraries. These components implement D-Bus client and server protocols for Inter-Process Communication (IPC) on Linux systems. The vulnerability encompasses three distinct attack vectors: signal spoofing, file descriptor exhaustion, and denial of service via malformed message structures.

Applications utilizing vulnerable versions of these libraries lack sufficient validation for incoming D-Bus messages. A local attacker connected to the same D-Bus message bus can exploit these deficiencies to forge signals, consume process resources, or crash the target application. This represents a significant risk for system disruption or application manipulation depending on the affected service's role.

The CVSS base score of 7.1 reflects the high availability and integrity impacts. An attacker requires prior access to the D-Bus system or session bus, placing the attack vector strictly in the local or adjacent network domains. Remediation requires patching the affected libraries to the latest stable releases.

Root Cause Analysis

The root cause spans multiple improper handling mechanisms within the D-Bus message parsing and routing lifecycle. The first weakness, signal spoofing (CWE-345), occurs because the library does not verify the sender's unique D-Bus name against the claimed well-known name. A malicious peer can emit a signal claiming to originate from a privileged service without the library validating the assertion via the bus's name owner database.

The second weakness involves file descriptor exhaustion (CWE-400). The D-Bus protocol supports passing file descriptors between processes using SCM_RIGHTS ancillary data over Unix domain sockets. The Tmds.DBus implementation failed to guarantee the closure of these file descriptors when message deserialization failed or when malicious messages were intentionally discarded.

The final weakness relates to improper input validation (CWE-20) during message parsing. The library lacked strict upper bounds on message sizes, header lengths, and the maximum depth of nested variants. An attacker can craft deeply nested or excessively large D-Bus messages that consume extensive CPU and memory resources during deserialization, resulting in application crashes.

Code Analysis

The mitigation strategy implemented by the maintainers spans several commits addressing the distinct vulnerability classes. To resolve the signal spoofing issue (commits fb41b95 and b429873), the library now integrates explicit checks against the name owner database. The incoming signal's sender is actively verified to ensure the unique name matches the registered owner of the well-known name.

File descriptor leaks were addressed in commit 49504a3 by enforcing strict lifecycle management. The patch introduces try-finally blocks during message ingestion. If a message is malformed or explicitly rejected, any attached file descriptors are immediately closed via robust cleanup routines, preventing the gradual exhaustion of the process limit.

// Conceptual representation of the file descriptor cleanup implementation
public void ProcessIncomingMessage(Message msg) 
{
    try 
    {
        // Attempt to parse and route the message
        ParseAndRoute(msg);
    }
    finally 
    {
        // Ensure all attached file descriptors are closed if routing fails
        // or if the message is deemed malicious/unauthorized
        if (msg.HasFileDescriptors && !msg.IsFullyProcessed) 
        {
            msg.CloseAttachedFileDescriptors();
        }
    }
}

Denial of service via malformed inputs was mitigated through multiple commits (0c84f88, 381c817, d408e01, ed3e9a7). These changes introduce hard constraints on parsing operations. The library now limits maximum message sizes, restricts header lengths, and caps the recursion depth for nested D-Bus variants, effectively nullifying resource consumption attacks.

Exploitation Mechanics

Exploitation of these vulnerabilities requires the attacker to possess an active connection to the same D-Bus instance as the target application. This typically dictates local execution access on the host system. No public proof-of-concept exploits exist, classifying the exploit maturity as none.

To exploit the signal spoofing vulnerability, an attacker constructs a D-Bus signal specifying a well-known name belonging to a different service. The attacker transmits this signal over the bus. The vulnerable application receives the signal, trusts the unverified well-known name, and executes its associated callback logic based on the forged data.

To exploit the file descriptor exhaustion vulnerability, the attacker repeatedly sends malformed D-Bus messages containing attached file descriptors via SCM_RIGHTS. The vulnerable application rejects the messages due to parsing errors but fails to close the descriptors. The kernel eventually enforces the RLIMIT_NOFILE limit, preventing the application from opening new files or network connections and resulting in a denial of service.

Impact Assessment

The successful exploitation of these vulnerabilities yields dual impacts: loss of availability and loss of integrity. The denial of service vectors directly compromise availability. Application crashes and resource exhaustion prevent the target service from fulfilling its intended function, which is critical for daemons managing system state or hardware components.

The signal spoofing vector facilitates logic manipulation and integrity compromise. By forging signals, an attacker can coerce the target application into performing unauthorized actions, updating internal state based on false premises, or bypassing intended access controls. This can result in broader system compromise depending on the privileges and responsibilities of the vulnerable service.

The cumulative effect is a CVSS v3.1 base score of 7.1. While the attack complexity is relatively low, the prerequisite of local D-Bus access restricts the overall severity. The vulnerabilities pose the highest risk in multi-tenant environments or systems where untrusted processes share access to a central system bus.

Remediation and Mitigation

The definitive remediation for these vulnerabilities is upgrading the affected libraries. Developers must update Tmds.DBus to version 0.21.3 or higher. Projects utilizing Tmds.DBus.Protocol must be updated to version 0.92.0 or higher.

In environments where immediate patching is unfeasible, administrators should monitor system logs for indicators of resource exhaustion. File descriptor exhaustion typically manifests as "Too many open files" or EMFILE errors within application or system logs. Auditing D-Bus traffic for anomalous signal broadcasts can also aid in detecting active spoofing attempts.

Developers utilizing D-Bus libraries should adopt defensive programming practices. Applications should explicitly filter incoming signals by sender identity using the Sender field provided by the D-Bus daemon. Relying solely on interface or member names for authentication remains an unsafe pattern, even when underlying library vulnerabilities are patched.

Official Patches

tmdsTmds.DBus Release 0.21.3
tmdsTmds.DBus.Protocol Release 0.92.0

Technical Appendix

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

Affected Systems

.NET applications implementing D-Bus clients.NET applications implementing D-Bus serversSystems relying on Tmds.DBus for Inter-Process Communication (IPC)

Affected Versions Detail

Product
Affected Versions
Fixed Version
Tmds.DBus
tmds
< 0.21.30.21.3
Tmds.DBus.Protocol
tmds
< 0.92.00.92.0
AttributeDetail
Primary CWE IDsCWE-345, CWE-400, CWE-20
Attack VectorLocal / Adjacent (D-Bus)
CVSS Score7.1 (High)
ImpactDenial of Service, Integrity Compromise
Exploit MaturityNone (No public PoC)
CISA KEV StatusNot Listed

MITRE ATT&CK Mapping

T1557Adversary-in-the-Middle
Credential Access, Collection
T1499Endpoint Denial of Service
Impact
CWE-345
Insufficient Verification of Data Authenticity

Insufficient Verification of Data Authenticity and Uncontrolled Resource Consumption

Vulnerability Timeline

Vulnerability disclosed and GitHub Advisory published
2024-04-08
Patches released in versions 0.21.3 and 0.92.0
2024-04-08

References & Sources

  • [1]GitHub Advisory: GHSA-XRW6-GWF8-VVR9
  • [2]Tmds.DBus Release 0.21.3
  • [3]Tmds.DBus.Protocol Release 0.92.0

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•21 minutes ago•GHSA-X5CX-W6P2-MXF2
6.5

GHSA-X5CX-W6P2-MXF2: Improper Permission Handling in Wagtail Snippet Copy Functionality

An authorization bypass vulnerability in Wagtail CMS allows authenticated users with snippet creation privileges ('add') to access and view the contents of restricted snippet instances for which they lack viewing or editing permissions. By invoking the copy endpoint, the application pre-populates form data with the properties of the source snippet, exposing sensitive information to unauthorized users.

Alon Barad
Alon Barad
0 views•6 min read
•about 5 hours ago•GHSA-JM5P-837G-RV8G
6.5

GHSA-JM5P-837G-RV8G: Insecure Direct Object Reference (IDOR) in Wagtail Page Translation Endpoint

An authenticated user with global translation permissions can exploit a missing authorization check on the page translation endpoint in Wagtail CMS. This allows the attacker to copy and view pages they do not have explicit edit or explore access to.

Alon Barad
Alon Barad
2 views•7 min read
•about 6 hours ago•CVE-2026-67447
5.3

CVE-2026-67447: Unbounded Memory Allocation leading to Denial of Service in Mailpit SMTP Server

An uncontrolled resource allocation vulnerability (CWE-770) affects Mailpit SMTP server versions 1.30.0 through 1.30.4. The vulnerability is located within the DATA parsing logic, where an unauthenticated remote attacker can stream an endless sequence of bytes devoid of newline characters. Because line size limits are evaluated only after buffer completion, the Go runtime repeatedly allocates memory on the heap to store the single oversized line, causing resource exhaustion and an Out-Of-Memory termination of the service process.

Amit Schendel
Amit Schendel
1 views•8 min read
•about 7 hours ago•CVE-2026-67448
6.5

CVE-2026-67448: Cross-Site WebSocket Hijacking via Path Normalization Discrepancy in Mailpit

A critical cross-site WebSocket hijacking (CSWSH) vulnerability in Mailpit allows malicious websites to bypass CORS security controls via URL-encoded path mismatches, exposing sensitive development SMTP communications to unauthorized actors.

Alon Barad
Alon Barad
2 views•7 min read
•about 11 hours ago•CVE-2026-54061
9.1

CVE-2026-54061: Unauthenticated Database Wipe and Replacement in Dgraph Alpha

A critical vulnerability in Dgraph Alpha allows unauthenticated network clients to delete and replace database stores. The public gRPC interface on port 9080 processes external snapshot streams without enforcing authentication or authorization, triggering immediate database destruction via the storage engine's initialization process.

Amit Schendel
Amit Schendel
5 views•6 min read
•about 20 hours ago•CVE-2026-53951
8.8

CVE-2026-53951: Trust-Prefix Bypass via Path Traversal leading to Remote Code Execution in Copier

A security vulnerability in Copier versions 9.5.0 through 9.15.1 allows unauthenticated remote code execution via crafted HTTP requests or local paths containing traversal sequences. The trust-evaluation mechanism compares target repository paths or URLs against trusted prefixes using unnormalized string comparison, while the subsequent fetching mechanism normalizes the path before cloning. Attackers can exploit this asymmetry to bypass security warning prompts and execute arbitrary commands under the local user context.

Amit Schendel
Amit Schendel
5 views•6 min read