<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>scriptkittens</title>
    <description></description>
    <link>https://scriptkittens.com</link>
    <atom:link href="https://scriptkittens.com/rss.xml" rel="self" type="application/rss+xml"/>
    <language>en-us</language>
    <lastBuildDate>Fri, 05 Jun 2026 21:58:37 GMT</lastBuildDate>
    <item>
      <title>Two Sinks, One Shell: OS Command Injection in ZoneMinder</title>
      <link>https://scriptkittens.com/blog/two-sinks-one-shell/</link>
      <guid>https://scriptkittens.com/blog/two-sinks-one-shell/</guid>
      <description>ZoneMinder&apos;s event export concatenates monitor names directly into shell commands. One unsanitized source, two exec() sinks, and a payload that someone else can trigger for you.</description>
      <pubDate>Fri, 05 Jun 2026 00:00:00 GMT</pubDate>
      <author>investigato</author>
      <category>vulnerability-research</category>
        <category>php</category>
        <category>command-injection</category>
        <category>zoneminder</category>
        <category>rce</category>
    </item>
    <item>
      <title>I Found a File Read Nobody Was Looking For</title>
      <link>https://scriptkittens.com/blog/file-read-because-why-not/</link>
      <guid>https://scriptkittens.com/blog/file-read-because-why-not/</guid>
      <description>A path traversal in Camaleon CMS that only triggers under a weird combination of Rails 8, the Solid trio, and an S3 backend. Found by accident. Reproduced through stubbornness.</description>
      <pubDate>Mon, 16 Feb 2026 00:00:00 GMT</pubDate>
      <author>investigato</author>
      <category>cve</category>
        <category>ruby</category>
        <category>path-traversal</category>
        <category>camaleon-cms</category>
        <category>vulnerability-research</category>
    </item>
  </channel>
</rss>