{"id":"CVE-2026-111183","kind":"vulnerability","aliases":["CVE-2026-111183"],"related":[],"title":"GStreamer: RTP L16 depayloader heap overflow lets remote attackers run code","description":"GStreamer rtpL16depay Heap-based Buffer Overflow Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of GStreamer. Interaction with this library is required to exploit this vulnerability but attack vectors may vary depending on the implementation.\n\nThe specific flaw exists within the processing of RTP payload elements. The issue results from the lack of proper validation of the length of user-supplied data prior to copying it to a heap-based buffer. An attacker can leverage this vulnerability to execute code in the context of the current process. Was ZDI-CAN-31143.","summary":"The rtpL16depay element in GStreamer's good and base plugin sets copies user-supplied RTP payload data into a heap buffer without checking its length. An attacker who can send crafted RTP packets to an application that processes them can overwrite heap memory and run code in that process.","severity":"critical","cvss":9.8,"epss":0.00546,"exploited":false,"exploited_at":null,"products":[{"name":"gst-plugins-good","fixed":["1.28.8"],"affected":"< 1.28.8","ecosystem":"gstreamer"},{"name":"gst-plugins-base","fixed":["1.28.8"],"affected":"< 1.28.8","ecosystem":"gstreamer"}],"ecosystems":["gstreamer"],"tags":["gstreamer","media-servers","package","rtp","rtsp","webrtc"],"not_affected_if":["gst-plugins-good and gst-plugins-base at 1.28.8 or later","no rtp l16 pipeline"],"how_to_check":"Check the installed GStreamer plugin versions with gst-inspect-1.0 --version or your package manager, and look for rtpL16depay in apps that receive RTP or RTSP streams.","fix":"Upgrade gst-plugins-good and gst-plugins-base to 1.28.8 or later.","status":"open","published_at":"2026-10-21T18:17:23+00:00","first_seen_at":"2026-10-23T21:57:29+00:00","triaged_at":"2026-10-23T22:33:03+00:00","updated_at":"2026-10-24T13:15:54+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-23T22:33:03Z","model":"claude-haiku-5-5","output":{"fix":"Upgrade gst-plugins-good and gst-plugins-base to 1.28.8 or later.","reach":"network","title":"GStreamer: RTP L16 depayloader heap overflow lets remote attackers run code","impact":"high","summary":"The rtpL16depay element in GStreamer's good and base plugin sets copies user-supplied RTP payload data into a heap buffer without checking its length. An attacker who can send crafted RTP packets to an application that processes them can overwrite heap memory and run code in that process.","category":"package","who_cares":["gstreamer","media-servers","rtp","rtsp","webrtc"],"confidence":0.7,"needs_auth":"unknown","worst_case":"Remote code runs in the process that decodes the RTP stream.","analyst_note":"Sources do not say whether a default pipeline or only specific RTP/RTSP setups reach rtpL16depay; check the NVD entry and the ZDI advisory ZDI-CAN-31143 for the exact trigger and any public exploit.","how_to_check":"Check the installed GStreamer plugin versions with gst-inspect-1.0 --version or your package manager, and look for rtpL16depay in apps that receive RTP or RTSP streams.","needs_analyst":true,"not_affected_if":["gst-plugins-good and gst-plugins-base at 1.28.8 or later","no rtp l16 pipeline"],"user_interaction":"unknown","needs_special_setup":"unknown","severity_if_unknown":"critical"},"cost_usd":0.000572,"input_tokens":3118,"output_tokens":521,"severity_before":"critical"},"analyst_status":"done","analyst_note":"Find the affected GStreamer version range and patched release in the NVD entry and the ZDI advisory for ZDI-CAN-31143; sources give no versions.","search":"'-111183':14A,17A '-2026':13A,16A '31143':186C 'affect':105C 'allow':97C 'applic':70B 'arbitrari':102C 'attack':9A,61B,99C,120C,167C 'base':25A,42B,88C,164C 'buffer':55B,89C,165C 'check':57B 'code':11A,80B,92C,103C,174C 'context':177C 'copi':45B,158C 'craft':65B 'current':180C 'cve':12A,15A 'data':51B,155C 'depayload':4A 'depend':124C 'element':36B,138C 'execut':93C,101C,173C 'exist':131C 'exploit':116C 'flaw':130C 'good':21A,40B 'gst':19A,23A 'gst-plugins-base':22A 'gst-plugins-good':18A 'gstreamer':1A,26B,38B,84C,108C 'heap':5A,54B,76B,87C,163C 'heap-bas':86C,162C 'implement':127C 'instal':106C 'interact':109C 'issu':140C 'l16':3A 'lack':144C 'length':59B,150C 'let':7A 'leverag':169C 'librari':112C 'may':122C 'media':28B 'media-serv':27B 'memori':77B 'overflow':6A,90C 'overwrit':75B 'packag':30B 'packet':67B 'payload':50B,137C 'plugin':43B 'plugins':20A,24A 'prior':156C 'process':72B,83B,134C,181C 'proper':146C 'remot':8A,91C,98C 'requir':114C 'result':141C 'rtp':2A,31B,49B,66B,136C 'rtpl16depay':35B,85C 'rtsp':32B 'run':10A,79B 'send':64B 'server':29B 'set':44B 'specif':129C 'suppli':48B,154C 'user':47B,153C 'user-suppli':46B,152C 'valid':147C 'vari':123C 'vector':121C 'vulner':94C,96C,118C,171C 'webrtc':33B 'within':132C 'without':56B 'zdi':184C 'zdi-can':183C","nicknames":[],"mitigations":[],"who_affected":null,"tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-21T18:17:23+00:00","kev":null,"cvss_vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","cvss_by":"zdi-disclosures@trendmicro.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-111183","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-111183","severity":null,"published_at":"2026-10-21T18:17:23+00:00","modified_at":"2026-10-23T12:18:08+00:00","first_seen_at":"2026-10-23T21:57:29+00:00","fetched_at":"2026-10-23T22:29:01+00:00","note":null},{"source":"analyst","external_id":"CVE-2026-111183:227","url":null,"severity":null,"published_at":"2026-10-23T22:27:25+00:00","modified_at":"2026-10-23T22:27:25+00:00","first_seen_at":"2026-10-23T22:27:25+00:00","fetched_at":"2026-10-23T22:27:25+00:00","note":"Vendor advisory GStreamer-SA-2026-0088 (ZDI-CAN-31143) gives affected <1.28.8 for gst-plugins-base and -good, fixed 1.28.8. The advisory says it covers the RTP L8/L16/L24 depayloaders, and the ZDI fix commit is linked. I did not check that the SA is the same bug as ZDI-26-775 beyond the shared ZDI-CAN id. No exploitation or public PoC found. Did not search social posts."},{"source":"epss","external_id":"CVE-2026-111183","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-111183","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-24T13:15:54+00:00","fetched_at":"2026-10-24T13:15:54+00:00","note":null}],"documents":[{"id":1447,"url":"https://gstreamer.freedesktop.org/security/sa-2026-0088.html","title":"GStreamer-SA-2026-0088","kind":"advisory","source":"analyst","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":null},{"id":1449,"url":"https://www.zerodayinitiative.com/advisories/ZDI-26-775/","title":"ZDI-26-775","kind":"advisory","source":"analyst","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":null},{"id":1450,"url":"https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/80c184b4c5ee8ba28b2540ba58f40b8d44b61622","title":"Fix commit","kind":"other","source":"analyst","text":null,"published_at":null,"relation":"fix","confidence":null,"note":null}],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}