<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[VyPr AI]]></title><description><![CDATA[Vulnerability discovery at the speed of light]]></description><link>https://blog.vyprsec.ai</link><image><url>https://substackcdn.com/image/fetch/$s_!0SbN!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4ca77ae-2697-4131-aaca-2468ab7ee09c_260x260.png</url><title>VyPr AI</title><link>https://blog.vyprsec.ai</link></image><generator>Substack</generator><lastBuildDate>Mon, 25 May 2026 09:25:30 GMT</lastBuildDate><atom:link href="https://blog.vyprsec.ai/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[VyPr AI AB]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[vyprsec@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[vyprsec@substack.com]]></itunes:email><itunes:name><![CDATA[Syafiq Al Atiiq]]></itunes:name></itunes:owner><itunes:author><![CDATA[Syafiq Al Atiiq]]></itunes:author><googleplay:owner><![CDATA[vyprsec@substack.com]]></googleplay:owner><googleplay:email><![CDATA[vyprsec@substack.com]]></googleplay:email><googleplay:author><![CDATA[Syafiq Al Atiiq]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[4 CVEs in GStreamer: A Security Research Story]]></title><description><![CDATA[It started with a bug report that led somewhere unexpected.]]></description><link>https://blog.vyprsec.ai/p/4-cves-in-gstreamer-a-security-research</link><guid isPermaLink="false">https://blog.vyprsec.ai/p/4-cves-in-gstreamer-a-security-research</guid><dc:creator><![CDATA[Syafiq Al Atiiq]]></dc:creator><pubDate>Sun, 28 Dec 2025 15:37:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-Mb3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d6888b0-ce9a-4187-8902-f348f17a26fb_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-Mb3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d6888b0-ce9a-4187-8902-f348f17a26fb_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-Mb3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d6888b0-ce9a-4187-8902-f348f17a26fb_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!-Mb3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d6888b0-ce9a-4187-8902-f348f17a26fb_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!-Mb3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d6888b0-ce9a-4187-8902-f348f17a26fb_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!-Mb3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d6888b0-ce9a-4187-8902-f348f17a26fb_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-Mb3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d6888b0-ce9a-4187-8902-f348f17a26fb_1024x1024.png" width="400" height="400" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d6888b0-ce9a-4187-8902-f348f17a26fb_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:400,&quot;bytes&quot;:1739043,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://vyprsec.substack.com/i/182750055?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d6888b0-ce9a-4187-8902-f348f17a26fb_1024x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-Mb3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d6888b0-ce9a-4187-8902-f348f17a26fb_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!-Mb3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d6888b0-ce9a-4187-8902-f348f17a26fb_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!-Mb3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d6888b0-ce9a-4187-8902-f348f17a26fb_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!-Mb3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d6888b0-ce9a-4187-8902-f348f17a26fb_1024x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The best defense isn't building without holes; it's finding them first. Image generated by Nano Banana.</figcaption></figure></div><p>It started with a bug report that led somewhere unexpected.</p><p>Our AI had flagged something in GStreamer&#8217;s MIDI parser. Valgrind was reporting invalid memory reads. The pipeline was dying with &#8220;Internal data stream error.&#8221; We had found something worth investigating.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.vyprsec.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading VyPr AI! Subscribe to receive notifications of new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3>The First Report</h3><p>We filed a confidential security report to GStreamer: &#8220;MIDI Parser Buffer Overflow.&#8221; Within hours, one of the core maintainers responded.</p><p>&#8220;That&#8217;s not a crash but expected error behaviour on a broken file,&#8221; they wrote. &#8220;I can&#8217;t reproduce this here. There&#8217;s no OOB read with git main or 1.26.8.&#8221;</p><p>Interesting. The latest version seemed clean. But then they added something that caught our attention: &#8220;Also there are clear possibilities for OOB reads in the code though, none of which should be triggered by your exploit file. I&#8217;ll provide a fix for those later here.&#8221;</p><p>They couldn&#8217;t reproduce our specific issue on the latest version, but they&#8217;d spotted other potential bugs while reviewing the code.</p><h3>Down the Version Rabbit Hole</h3><p>We went back to our test environment. Something wasn&#8217;t adding up. We ran the same exploit against different GStreamer versions:</p><p>&#8226; 1.24.2 (shipped in Ubuntu LTS): Valgrind showed OOB reads</p><p>&#8226; 1.26.0: Valgrind showed OOB reads  </p><p>&#8226; 1.26.8: Clean. No warnings.</p><p>The bug was real. It just wasn&#8217;t new. Someone had already fixed it between 1.26.0 and 1.26.8.</p><p>We reported back with our findings. The response: &#8220;The second commit in <a href="https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8396">!8396</a> fixes the problem here... That fix is included in 1.26.2 and 1.24.13.&#8221;</p><p>So the bug had been patched upstream six months ago. But here&#8217;s the thing: we weren&#8217;t testing on bleeding-edge GStreamer. We were testing on Ubuntu 24.04 LTS, the version most people actually use. And Ubuntu 24.04 ships GStreamer 1.24.2, not 1.24.13.</p><p>The upstream fix existed. But millions of Ubuntu users were still running vulnerable code.</p><p>That was worth digging deeper.</p><p>And then came the interesting part.</p><h3>The Patch That Found More Bugs</h3><p>The maintainer had attached a patch to our bug report. Not just a fix for the issue we reported, but fixes for other OOB reads they&#8217;d spotted while reviewing the code. Our report had prompted them to audit the MIDI parser more carefully.</p><p>&#8220;Your report at least helped improving other parts of the code,&#8221; they wrote.</p><p>We decided to test the patch. Could we trigger those &#8220;other&#8221; OOB reads they&#8217;d identified?</p><p>Yes. Yes we could.</p><p>Within minutes, we had proof-of-concept files that triggered the new vulnerabilities on GStreamer 1.26.8. We shared them back. The maintainer confirmed they worked and that the patch caught them.</p><p>&#8220;I wonder if you can also get it to read more than 1 byte after the end,&#8221; they asked. Challenge accepted.</p><h3>The Final Count</h3><p>The back-and-forth with the GStreamer team led us to four distinct Out-of-Bounds Read vulnerabilities:</p><p>&#8226; <a href="https://www.cve.org/CVERecord?id=CVE-2025-67326">CVE-2025-67326</a>: Missing event data length validation</p><p>&#8226; <a href="https://www.cve.org/CVERecord?id=CVE-2025-67327">CVE-2025-67327</a>: Off-by-one error in the variable-length parser</p><p>&#8226; <a href="https://www.cve.org/CVERecord?id=CVE-2025-67328">CVE-2025-67328</a>: Missing boundary check in SysEx event parsing</p><p>&#8226; <a href="https://www.cve.org/CVERecord?id=CVE-2025-67329">CVE-2025-67329:</a> Missing boundary check in meta-event handling</p><p>Two of them (67326 and 67327) affect GStreamer 1.26.x and are fixed in 1.26.10. The other two (67328 and 67329) were already fixed in 1.24.13 and 1.26.2, but we requested CVEs anyway because Ubuntu LTS is still shipping 1.24.2.</p><p>We&#8217;ve published full technical write-ups for each vulnerability, including proof-of-concept scripts you can use to reproduce them:</p><p>&#8226; <a href="https://cve.vyprsec.ai/cve-2025-67326/">https://cve.vyprsec.ai/cve-2025-67326/</a></p><p>&#8226; <a href="https://cve.vyprsec.ai/cve-2025-67327/">https://cve.vyprsec.ai/cve-2025-67327/</a></p><p>&#8226; <a href="https://cve.vyprsec.ai/cve-2025-67328/">https://cve.vyprsec.ai/cve-2025-67328/</a></p><p>&#8226; <a href="https://cve.vyprsec.ai/cve-2025-67329/">https://cve.vyprsec.ai/cve-2025-67329/</a></p><p>Each page includes the exact Python script to generate a malicious MIDI file, the commands to run, and the Valgrind output showing the memory violation.</p><h3>Why Should You Care?</h3><p>You might be thinking: &#8220;Who even uses MIDI files anymore?&#8221;</p><p>Fair question. But GStreamer doesn&#8217;t care what file you meant to open. If your file manager tries to generate a thumbnail, if your media player scans your library, if any application auto-processes media files, GStreamer&#8217;s MIDI parser might get invoked.</p><p>GStreamer is everywhere:</p><p>&#8226; GNOME and KDE desktops</p><p>&#8226; Media players like Totem and Rhythmbox</p><p>&#8226; Video editors like Pitivi and OpenShot</p><p>&#8226; Embedded systems and IoT devices</p><p>The attack is trivial: drop a 30-byte file somewhere it&#8217;ll get processed. That&#8217;s it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7jqF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48595699-16ac-421e-a4c5-146d0edc7eca_524x499.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7jqF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48595699-16ac-421e-a4c5-146d0edc7eca_524x499.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7jqF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48595699-16ac-421e-a4c5-146d0edc7eca_524x499.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7jqF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48595699-16ac-421e-a4c5-146d0edc7eca_524x499.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7jqF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48595699-16ac-421e-a4c5-146d0edc7eca_524x499.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7jqF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48595699-16ac-421e-a4c5-146d0edc7eca_524x499.jpeg" width="524" height="499" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/48595699-16ac-421e-a4c5-146d0edc7eca_524x499.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:499,&quot;width&quot;:524,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:53542,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://vyprsec.substack.com/i/182750055?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48595699-16ac-421e-a4c5-146d0edc7eca_524x499.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7jqF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48595699-16ac-421e-a4c5-146d0edc7eca_524x499.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7jqF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48595699-16ac-421e-a4c5-146d0edc7eca_524x499.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7jqF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48595699-16ac-421e-a4c5-146d0edc7eca_524x499.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7jqF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48595699-16ac-421e-a4c5-146d0edc7eca_524x499.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The MIDI parser choosing the path of least resistance</figcaption></figure></div><h3>What This Proves</h3><p>This was a story of persistence and collaboration.</p><p>We didn&#8217;t stop at the first response. We dug deeper, tested across multiple versions, and when the maintainer shared a patch for related issues, we built proof-of-concept exploits (<strong>autonomously</strong>) that confirmed the vulnerabilities were real and exploitable. <strong>Within minutes&#8230;</strong></p><p>In the end, we:</p><p>&#8226; Identified that Ubuntu LTS was shipping a vulnerable version</p><p>&#8226; Created working PoC exploits for four separate code paths</p><p>&#8226; Handled the CVE registration process with MITRE</p><p>&#8226; Published detailed technical write-ups so others can learn and verify</p><p>The GStreamer team was responsive and professional throughout. They handled the code fixes. We handled the research, documentation, and disclosure coordination. That&#8217;s how security research should work.</p><h3>The Practical Takeaway</h3><p>If you&#8217;re running Linux, check your GStreamer version:</p><p>gst-launch-1.0 --version</p><p>Fixed versions:</p><p>&#8226; 1.24.13 or later</p><p>&#8226; 1.26.2 or later (1.26.10 for all four CVEs)</p><p>As of late December 2025, most distributions haven&#8217;t shipped these updates. Track them here:</p><p>&#8226; Ubuntu: <a href="https://ubuntu.com/security/cves">https://ubuntu.com/security/cves</a></p><p>&#8226; Debian: <a href="https://security-tracker.debian.org/tracker/">https://security-tracker.debian.org/tracker/</a></p><p>&#8226; Fedora: <a href="https://bodhi.fedoraproject.org/">https://bodhi.fedoraproject.org/</a></p><h3>References</h3><p>&#8226; GStreamer Security Advisory SA-2025-0008: <a href="https://gstreamer.freedesktop.org/security/sa-2025-0008.html">https://gstreamer.freedesktop.org/security/sa-2025-0008.html</a></p><p>&#8226; GStreamer Security Advisory SA-2025-0009: <a href="https://gstreamer.freedesktop.org/security/sa-2025-0009.html">https://gstreamer.freedesktop.org/security/sa-2025-0009.html</a></p><p>&#8226; Our CVE write-ups with PoC scripts: <a href="https://cve.vyprsec.ai">https://cve.vyprsec.ai</a></p><h3>About VyPr AI</h3><p>We build AI that finds security vulnerabilities. Every report starts a conversation, and sometimes that conversation leads somewhere unexpected.</p><p>These four CVEs came from following a trail of clues across multiple GStreamer versions. That&#8217;s security research: persistent, collaborative, and always evolving.</p><p>Interested in what we might find in your software? Reach out at contact@vyprsec.ai</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.vyprsec.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading VyPr AI! Subscribe to receive notifications of new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>