CVE-2026-26967

5.3 MEDIUM

📋 TL;DR

A critical heap-based buffer overflow vulnerability in PJSIP's H.264 unpacketizer allows remote attackers to execute arbitrary code or cause denial of service by sending specially crafted SRTP packets. This affects all applications using PJSIP versions 2.16 and below that receive H.264 video streams. The vulnerability is exploitable without authentication when video functionality is enabled.

💻 Affected Systems

Products:
  • PJSIP (pjproject)
  • Any application/library using PJSIP for multimedia communication
Versions: All versions up to and including 2.16
Operating Systems: All platforms where PJSIP is used (Linux, Windows, macOS, embedded systems)
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems using H.264 video codec with SRTP. Audio-only or non-H.264 configurations are not vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution leading to complete system compromise, data exfiltration, or persistent backdoor installation.

🟠

Likely Case

Denial of service causing application crashes, service disruption, or potential information disclosure via memory leaks.

🟢

If Mitigated

Limited impact with proper network segmentation and exploit mitigations like ASLR/DEP, though service disruption remains possible.

🌐 Internet-Facing: HIGH - Exploitable remotely without authentication when video streams are exposed to untrusted networks.
🏢 Internal Only: MEDIUM - Still exploitable by internal attackers or compromised internal systems, but attack surface is reduced.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: MEDIUM

Exploitation requires sending malformed SRTP packets to the H.264 unpacketizer. The advisory is public but no known exploits are circulating.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Versions after commit f821c214e52b11bae11e4cd3c7f0864538fb5491

Vendor Advisory: https://github.com/pjsip/pjproject/security/advisories/GHSA-x2hc-6969-g8v6

Restart Required: Yes

Instructions:

1. Update to latest PJSIP version from GitHub. 2. Apply commit f821c214e52b11bae11e4cd3c7f0864538fb5491. 3. Recompile and redeploy affected applications. 4. Restart all services using PJSIP.

🔧 Temporary Workarounds

Disable H.264 video

all

Disable H.264 video codec support in PJSIP configuration

Modify pjmedia config to remove H.264 from codec list

Network filtering

linux

Block or filter SRTP packets at network perimeter

iptables -A INPUT -p udp --dport 5061 -j DROP (for SIP TLS)
Configure firewall to block video RTP streams

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate PJSIP services from untrusted networks
  • Enable exploit mitigations (ASLR, DEP, stack canaries) and monitor for crash events

🔍 How to Verify

Check if Vulnerable:

Check PJSIP version and verify if H.264 is enabled in codec configuration

Check Version:

pjsua --version or check pjlib version in application logs

Verify Fix Applied:

Verify the commit f821c214e52b11bae11e4cd3c7f0864538fb5491 is present in your build

📡 Detection & Monitoring

Log Indicators:

  • Application crashes with segmentation faults
  • Memory corruption errors in logs
  • Unexpected termination of PJSIP processes

Network Indicators:

  • Malformed SRTP packets to H.264 ports
  • Unusual video stream patterns
  • Traffic spikes to video ports

SIEM Query:

source="*pjsip*" AND ("segmentation fault" OR "buffer overflow" OR "SIGSEGV")

🔗 References

📤 Share & Export