CVE-2026-40614CWE-122

PJSIP: Heap buffer overflow in Opus codec decoding

High · published April 21, 2026

CVSS v4.0
8.5
EPSS
0%
Percentile
29.4
In the wild
Unconfirmed
What it is

PJSIP is a free and open source multimedia communication library written in C. In 2.16 and earlier, there is a buffer overflow when decoding Opus audio frames due to insufficient buffer size validation in the Opus codec decode path. The FEC decode buffers (dec_frame[].buf) were allocated based on a PCM-derived formula: (sample_rate/1000) * 60 * channel_cnt * 2. At 8 kHz mono this yields only 960 bytes, but codec_parse() can output encoded frames up to MAX_ENCODED_PACKET_SIZE (1280) bytes via opus_repacketizer_out_range(). The three pj_memcpy() calls in codec_decode() copied input->size bytes without bounds checking, causing a heap buffer overflow.

The record
Technical detail
CVSS v4.0
8.5 · HIGH
Vector
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
EPSS
0.00367 · 29.4th percentile
Weakness
CWE-122 · Heap-based Buffer Overflow
Published
2026-04-21T18:04Z
EPSS history
Timeline
  • 21 APR 18:04Z
    PJSIP: Heap buffer overflow in Opus codec decoding
    cvelistv5