☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2026-0160

CVE-2026-0160 Remote Code Execution in Textrtppayloaddecodernode
📅 PUBLISHED: 2026-06-16 20:16 UTC 🔄 UPDATED: 2026-09-23 20:41 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.23%
👁️
0.23% probability
5.8× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Country: United States License: Open Source
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-0160 is a critical remote code execution vulnerability in the TextRtpPayloadDecoderNode::DecodeT140 function within TextRtpPayloadDecoderNode.cpp. The flaw is an out-of-bounds write caused by a missing bounds check when processing T.140 text data over RTP. An unauthenticated attacker can trigger this remotely without user interaction, leading to full system compromise. No patch or public exploit is currently available, but the vulnerability is weaponizable.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability affects a native C++ component (TextRtpPayloadDecoderNode) likely part of a multimedia or real-time communication library. No NPM, PyPI, Go, or Ruby packages are directly involved, but downstream dependencies using this decoder (e.g., WebRTC stacks, VoIP applications) are at risk. Supply chain risk is high due to the lack of a patch.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Base Score: 9.8 (Critical)
  • Attack Vector: Network (AV:N) – exploitable remotely.
  • Attack Complexity: Low (AC:L) – no special conditions required.
  • Privileges Required: None (PR:N) – no authentication needed.
  • User Interaction: None (UI:N) – fully autonomous.
  • Scope: Unchanged (S:U) – vulnerable component only.
  • Confidentiality/Integrity/Availability: High (C:H/I:H/A:H) – full compromise.

Threat Level: Critical. Immediate action required.

Deep Dive & Mechanics

The vulnerability resides in TextRtpPayloadDecoderNode::DecodeT140, which processes T.140 real-time text data encapsulated in RTP packets. T.140 is used for live text communication (e.g., captioning, chat). The function fails to validate the length of the incoming payload before writing to a fixed-size buffer. An attacker can craft a malformed RTP packet with a payload length exceeding the buffer capacity, causing a heap-based buffer overflow. This overwrites adjacent memory, enabling arbitrary code execution in the context of the decoder process.

Root Cause: Missing bounds check on payload_length before memcpy or similar write operation.

Attack Vector: Sending a specially crafted RTP packet to a service using the vulnerable decoder (e.g., a VoIP server, streaming platform).

Vulnerable vs. Patched Code

Vulnerable Code (pseudocode):

void TextRtpPayloadDecoderNode::DecodeT140(const uint8_t* payload, size_t payload_length) {
    char buffer[256];
    // Missing bounds check
    memcpy(buffer, payload, payload_length); // OOB write if payload_length > 255
    // ... process buffer
}

Patched Code (hypothetical):

void TextRtpPayloadDecoderNode::DecodeT140(const uint8_t* payload, size_t payload_length) {
    char buffer[256];
    if (payload_length >= sizeof(buffer)) {
        // Handle error, drop packet
        return;
    }
    memcpy(buffer, payload, payload_length);
    // ... process buffer
}

The patch adds a length check before the copy operation, preventing the overflow.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • A target running the vulnerable decoder (e.g., a custom VoIP server).
  • Ability to send raw RTP packets (e.g., using Scapy or custom C code).

Exploit Concept:

  1. Craft an RTP packet with a T.140 payload length > 256 bytes.
  2. Include shellcode in the payload to overwrite a function pointer or return address.
  3. Send the packet to the target's RTP port (typically 5004 or dynamic).

Example Scapy Script:

from scapy.all import *
import struct

# Craft RTP header (simplified)
payload = b"A" * 256 + b"\x90\x90\x90\x90" + shellcode  # overflow + NOP sled + shellcode
pkt = IP(dst="192.168.1.100")/UDP(sport=12345, dport=5004)/RTP(payload=payload)
send(pkt)

Note: No public exploit exists; this is a conceptual demonstration.

Blue Team (Defense)

Detection:

  • Monitor for RTP packets with T.140 payloads exceeding 256 bytes.
  • Use network intrusion detection (Suricata) to flag oversized T.140 data.
  • Enable ASLR, DEP, and stack canaries to mitigate exploitation.

Honeypot:

  • Deploy a fake T.140 decoder service to capture exploit attempts.

Indicators of Compromise (IOCs)

  • Network: RTP packets with T.140 payload length > 256 bytes.
  • Memory: Heap corruption patterns in TextRtpPayloadDecoderNode process.
  • Logs: Unexpected crashes or segmentation faults in the decoder process.
  • File: Modified binary or injected DLLs in the decoder's memory space.

Detection Engineering

YARA Rule

rule CVE_2026_0160_T140_Overflow {
    meta:
        description = "Detects T.140 RTP payloads exceeding 256 bytes"
        author = "Valters IT"
        date = "2025-04-10"
    strings:
        $t140_marker = { 00 01 02 03 }  // Example T.140 header bytes
    condition:
        // Check for RTP payload length > 256 (adjust offset as needed)
        uint16(0) > 256 and $t140_marker at 0
}

Sigma Rule

title: CVE-2026-0160 T.140 Buffer Overflow Attempt
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects oversized T.140 RTP payloads
logsource:
    category: network
    product: suricata
detection:
    selection:
        app_protocol: 'rtp'
        payload_length: > 256
    condition: selection
falsepositives:
    - Legitimate large T.140 messages (rare)
level: critical

Suricata Rule

alert udp any any -> any 5004 (msg:"CVE-2026-0160 T.140 Buffer Overflow Attempt"; content:"|00 01 02 03|"; offset:0; depth:4; byte_test:2,>,256,0; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Isolate any systems using the vulnerable decoder until a patch is available.
  2. Apply network segmentation to restrict RTP traffic to trusted sources.
  3. Enable WAF/IPS rules to block oversized T.140 payloads.

Long-Term Fix:

  • Vendor must release a patched version with proper bounds checking.
  • If vendor is unresponsive, consider forking the code and applying the fix manually.

Workaround:

  • Disable T.140 decoding if not essential.
  • Use a proxy to validate RTP payload lengths before forwarding.

Valters IT

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-0160/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.