Bug 2460212 (CVE-2026-40614) - CVE-2026-40614 PJSIP: pjproject: PJSIP: Arbitrary code execution or denial of service via Opus audio frame decoding buffer overflow
Summary: CVE-2026-40614 PJSIP: pjproject: PJSIP: Arbitrary code execution or denial of...
Keywords:
Status: NEW
Alias: CVE-2026-40614
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
urgent
urgent
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 2460217 2460218
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-04-21 19:01 UTC by OSIDB Bzimport
Modified: 2026-04-21 19:23 UTC (History)
0 users

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-04-21 19:01:46 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.