<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/atom.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Posts tagged: security</title>
  <id>https://pype.dev/tags/security/atom.xml</id>
  <updated>2026-10-25T06:58:00Z</updated>
  <subtitle>All posts with the tag &#34;security&#34;</subtitle>
  <link href="https://pype.dev/tags/security/" rel="alternate" type="text/html"></link>
  <link href="https://pype.dev/tags/security/atom.xml" rel="self" type="application/atom+xml"></link>
  <author>
    <name>Nic Payne</name>
  </author>
  <generator uri="https://github.com/WaylonWalker/markata-go">markata-go</generator>
  <entry>
    <title>PHP2Shell: finding and patching every PHP runtime in the homelab</title>
    <id>https://pype.dev/php2shell-homelab-triage/</id>
    <updated>2026-10-25T06:58:00Z</updated>
    <published>2026-10-25T06:58:00Z</published>
    <link href="https://pype.dev/php2shell-homelab-triage/" rel="alternate" type="text/html"></link>
    <summary type="text">PHP dropped a critical security release on Oct 21. Two unauthenticated RCEs (CVE-2026-109618 and CVE-2026-109619, collected under &#34;PHP2Shell&#34;, both CVSS 9.2)...</summary>
    <content type="html">&lt;p&gt;PHP dropped a critical security release on Oct 21. Two unauthenticated RCEs (CVE-2026-109618 and CVE-2026-109619, collected under &amp;ldquo;PHP2Shell&amp;rdquo;, both CVSS 9.2) in the parts of PHP every request touches, memory management and error handling. Patched versions: 8.2.35, 8.3.36, 8.4.27, 8.5.12. Worst case is Apache mod_php, where an exploit ran before any application code. PHP-FPM is affected too.&lt;/p&gt;&#xA;&lt;p&gt;I knew nextcloud was PHP. Everything else was a guess, so the first job was an inventory.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-sweep&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;The sweep&lt;/span&gt; &lt;a href=&#34;#the-sweep&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Loop over every running container on both &lt;a href=&#34;/docker/&#34; class=&#34;glossary-term&#34; title=&#34;docker - container runtime&#34; data-hover-title=&#34;docker&#34;&gt;docker&lt;/a&gt; hosts:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;for c in $(docker ps --format &amp;#34;{{.Names}}&amp;#34;); do&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;  docker exec $c php -v 2&amp;gt;/dev/null | head -1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;done&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Four PHP services, all on ghost:&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;service&lt;/th&gt;&#xA;&lt;th&gt;php&lt;/th&gt;&#xA;&lt;th&gt;sapi&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;nextcloud&lt;/td&gt;&#xA;&lt;td&gt;8.3.35&lt;/td&gt;&#xA;&lt;td&gt;apache mod_php&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;freshrss&lt;/td&gt;&#xA;&lt;td&gt;8.4.26&lt;/td&gt;&#xA;&lt;td&gt;apache mod_php&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;kanboard&lt;/td&gt;&#xA;&lt;td&gt;8.4.24&lt;/td&gt;&#xA;&lt;td&gt;nginx + php-fpm&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;wallos&lt;/td&gt;&#xA;&lt;td&gt;8.2.28&lt;/td&gt;&#xA;&lt;td&gt;php-fpm&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;All four sit behind traefik on &lt;code&gt;*.paynepride.com&lt;/code&gt;, which publicly resolves to my WAN IP, and none had an IP whitelist. Internet-facing mod_php on a CVSS 9.2 is about as bad as my setup can get. Aurora had zero PHP, and pihole3 runs Pi-hole v6 which dropped PHP entirely. A half-finished k3s/argocd migration scaffold in the repo also turned out to be dead config, not a live cluster.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-fix-in-order&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;The fix, in order&lt;/span&gt; &lt;a href=&#34;#the-fix-in-order&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Pull what upstream already rebuilt.&lt;/strong&gt; docker-library re-tagged &lt;code&gt;nextcloud:32.0.15&lt;/code&gt; with PHP 8.3.36 within hours of disclosure, and &lt;code&gt;wallos:latest&lt;/code&gt; rebuilt too. Pull, recreate, done. Comparing the remote digest against the local one told me which images had new builds before I pulled anything.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Quarantine what couldn&amp;rsquo;t be patched.&lt;/strong&gt; FreshRSS and Kanboard had no rebuilt tags, so I attached the existing &lt;code&gt;default-whitelist@file&lt;/code&gt; middleware (an ipAllowList for LAN + tailscale) to their routers. Instant 403 at the proxy for anything off-LAN, verified live in traefik&amp;rsquo;s API rather than trusting the labels.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Patch locally instead of waiting on vendors.&lt;/strong&gt; Distro security feeds moved faster than the app vendors. Alpine 3.24 already shipped &lt;code&gt;php84 8.4.27&lt;/code&gt;, and Debian trixie-security had &lt;code&gt;php8.4 8.4.27-1&lt;/code&gt;. Each stack got a three-line Dockerfile layered on the pinned tag: &lt;code&gt;apk upgrade&lt;/code&gt; for kanboard, &lt;code&gt;apt upgrade &#39;php8.4*&#39; libapache2-mod-php8.4&lt;/code&gt; for freshrss. Built on ghost, redeployed, verified &lt;code&gt;php -v&lt;/code&gt; reports 8.4.27.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;All four services now run patched PHP. The whitelist stays on freshrss and kanboard anyway, since LAN-only is the right posture for them regardless.&lt;/p&gt;&#xA;&lt;h2 id=&#34;lessons&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Lessons&lt;/span&gt; &lt;a href=&#34;#lessons&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Official base images get silently re-tagged; app images don&amp;rsquo;t.&lt;/strong&gt; &lt;code&gt;nextcloud:32.0.15&lt;/code&gt; quietly moved to a patched build while &lt;code&gt;freshrss:1.30.1&lt;/code&gt; never will. Digest comparison beats guessing.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;The distro fixes the language, not the vendor.&lt;/strong&gt; When the app image lags, its base distro&amp;rsquo;s security repo usually already has the patched PHP package. A patch layer on the pinned tag is the move.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;A reusable whitelist middleware doubles as an emergency quarantine.&lt;/strong&gt; One traefik label took a service off the internet without touching the app.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&amp;ldquo;What runs PHP&amp;rdquo; was a 30-second exec loop.&lt;/strong&gt; Faster than auditing compose files by hand, and it caught wallos, which I&amp;rsquo;d forgotten was PHP at all.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;&lt;em&gt;Co-authored with Devin, who ran the container sweeps, compared image digests, applied the whitelist middleware, and built and deployed both patch images.&lt;/em&gt;&lt;/p&gt;&#xA;</content>
    <author>
      <name>Nic Payne</name>
      <uri>https://pype.dev</uri>
    </author>
  </entry>
  <entry>
    <title>💭 microsandbox/microsandbox: Self-Hosted Plaform for Secure Exec…</title>
    <id>https://pype.dev/thoughts-706/</id>
    <updated>2025-06-19T10:46:03Z</updated>
    <published>2025-06-19T10:46:03Z</published>
    <link href="https://pype.dev/thoughts-706/" rel="alternate" type="text/html"></link>
    <summary type="text">There&#39;s a ton of AI related tools I want to play with, and there are several I run in docker pretty willy nilly. However</summary>
    <content type="html">&lt;a href=&#34;https://github.com/microsandbox/microsandbox&#34;&gt;&#xA;    &lt;img&#xA;        src=&#34;https://shots.wayl.one/shot/?url=https://github.com/microsandbox/microsandbox&amp;height=450&amp;width=800&amp;scaled_width=800&amp;scaled_height=450&amp;selectors=&#34;&#xA;        alt=&#34;shot of post - microsandbox/microsandbox: Self-Hosted Plaform for Secure Execution of Untrusted User/AI Code&#34;&#xA;        height=450&#xA;        width=800&#xA;    &gt;&#xA;&lt;/a&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s my thought on &lt;a href=&#34;https://github.com/microsandbox/microsandbox&#34;&gt;microsandbox/microsandbox: Self-Hosted Plaform for Secure Execution of Untrusted User/AI Code&lt;/a&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;There&amp;rsquo;s a ton of AI related tools I want to play with, and there are several I run in &lt;a href=&#34;/docker/&#34; class=&#34;glossary-term&#34; title=&#34;docker - container runtime&#34; data-hover-title=&#34;docker&#34;&gt;docker&lt;/a&gt; pretty willy nilly. However, the MCP server stuff as of late has felt fast and borderline reckless so I like seeing a project seeking to make it easy to sandbox code&amp;hellip; I get blocked by this idea cause I&amp;rsquo;ll want to setup a VM on a VLAN or something before just spinning up an mcp server idk if I should trust - but if I can do it with a library then that&amp;rsquo;s amazing!&lt;/p&gt;&#xA;&lt;p&gt;We just have to hope the motivation to try this stays strong enough to get started&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;div class=&#34;admonition note&#34;&gt;&#xA;&lt;p class=&#34;admonition-title&#34;&gt;Note&lt;/p&gt;&#xA;&lt;p&gt;This is one of [[ my-thoughts ]]. I picked this up from &lt;a href=&#34;https://waylonwalker.com&#34;&gt;Waylon Walker&lt;/a&gt;(&lt;a href=&#34;https://thoughts.waylonwalker.com&#34;&gt;https://thoughts.waylonwalker.com&lt;/a&gt;). It&amp;rsquo;s a short note that I make about someone else&amp;rsquo;s content online.  Learn more about the process &lt;a href=&#34;/thoughts/&#34; class=&#34;wikilink&#34; data-title=&#34;Thoughts&#34; data-description=&#34;My thoughts are found at my thoughts feed&#34; data-date=&#34;2025-06-09&#34; data-preview=&#34;My thoughts are found at my thoughts feed&#34;&gt;Thoughts&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Nic Payne</name>
      <uri>https://pype.dev</uri>
    </author>
  </entry>
  <entry>
    <title>💭 “We would be less confidential than Google” – Proton threatens…</title>
    <id>https://pype.dev/thoughts-690/</id>
    <updated>2025-06-13T02:19:29Z</updated>
    <published>2025-06-13T02:19:29Z</published>
    <link href="https://pype.dev/thoughts-690/" rel="alternate" type="text/html"></link>
    <summary type="text">I&#39;ve been a proton user for several years now, and pay a decently hefty subscription fee for some of their services that</summary>
    <content type="html">&lt;a href=&#34;https://www.techradar.com/vpn/vpn-privacy-security/we-would-be-less-confidential-than-google-proton-threatens-to-quit-switzerland-over-new-surveillance-law?ref=dailydev&#34;&gt;&#xA;    &lt;img&#xA;        src=&#34;https://shots.wayl.one/shot/?url=https://www.techradar.com/vpn/vpn-privacy-security/we-would-be-less-confidential-than-google-proton-threatens-to-quit-switzerland-over-new-surveillance-law?ref=dailydev&amp;height=450&amp;width=800&amp;scaled_width=800&amp;scaled_height=450&amp;selectors=&#34;&#xA;        alt=&#34;shot of post - &#34;We would be less confidential than Google&#34; – Proton threatens to quit Switzerland over new surveillance law | TechRadar&#34;&#xA;        height=450&#xA;        width=800&#xA;    &gt;&#xA;&lt;/a&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s my thought on &lt;a href=&#34;https://www.techradar.com/vpn/vpn-privacy-security/we-would-be-less-confidential-than-google-proton-threatens-to-quit-switzerland-over-new-surveillance-law?ref=dailydev&#34;&gt;&amp;ldquo;We would be less confidential than Google&amp;rdquo; – Proton threatens to quit Switzerland over new surveillance law | TechRadar&lt;/a&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been a proton user for several years now, and pay a decently hefty subscription fee for some of their services that I love having access to (multiple domains, email relay, simplelogin, etc.). This privacy impact in Switzerland is concerning and I am definitely biting my nails over the future of this platform&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;div class=&#34;admonition note&#34;&gt;&#xA;&lt;p class=&#34;admonition-title&#34;&gt;Note&lt;/p&gt;&#xA;&lt;p&gt;This is one of [[ my-thoughts ]]. I picked this up from &lt;a href=&#34;https://waylonwalker.com&#34;&gt;Waylon Walker&lt;/a&gt;(&lt;a href=&#34;https://thoughts.waylonwalker.com&#34;&gt;https://thoughts.waylonwalker.com&lt;/a&gt;). It&amp;rsquo;s a short note that I make about someone else&amp;rsquo;s content online.  Learn more about the process &lt;a href=&#34;/thoughts/&#34; class=&#34;wikilink&#34; data-title=&#34;Thoughts&#34; data-description=&#34;My thoughts are found at my thoughts feed&#34; data-date=&#34;2025-06-09&#34; data-preview=&#34;My thoughts are found at my thoughts feed&#34;&gt;Thoughts&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Nic Payne</name>
      <uri>https://pype.dev</uri>
    </author>
  </entry>
  <entry>
    <title>💭 Exploiting Copilot AI for SharePoint | Pen Test Partners</title>
    <id>https://pype.dev/thoughts-689/</id>
    <updated>2025-06-13T02:17:17Z</updated>
    <published>2025-06-13T02:17:17Z</published>
    <link href="https://pype.dev/thoughts-689/" rel="alternate" type="text/html"></link>
    <summary type="text">In hindsight this vulnerability isn&#39;t even that clever, hopefully the share holders of the companies that rushed to thro</summary>
    <content type="html">&lt;a href=&#34;https://www.pentestpartners.com/security-blog/exploiting-copilot-ai-for-sharepoint/&#34;&gt;&#xA;    &lt;img&#xA;        src=&#34;https://shots.wayl.one/shot/?url=https://www.pentestpartners.com/security-blog/exploiting-copilot-ai-for-sharepoint/&amp;height=450&amp;width=800&amp;scaled_width=800&amp;scaled_height=450&amp;selectors=&#34;&#xA;        alt=&#34;shot of post - Exploiting Copilot AI for SharePoint | Pen Test Partners&#34;&#xA;        height=450&#xA;        width=800&#xA;    &gt;&#xA;&lt;/a&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s my thought on &lt;a href=&#34;https://www.pentestpartners.com/security-blog/exploiting-copilot-ai-for-sharepoint/&#34;&gt;Exploiting Copilot AI for SharePoint | Pen Test Partners&lt;/a&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;In hindsight this vulnerability isn&amp;rsquo;t even that clever, hopefully the share holders of the companies that rushed to throw AI into everything will make it out ok&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;div class=&#34;admonition note&#34;&gt;&#xA;&lt;p class=&#34;admonition-title&#34;&gt;Note&lt;/p&gt;&#xA;&lt;p&gt;This is one of [[ my-thoughts ]]. I picked this up from &lt;a href=&#34;https://waylonwalker.com&#34;&gt;Waylon Walker&lt;/a&gt;(&lt;a href=&#34;https://thoughts.waylonwalker.com&#34;&gt;https://thoughts.waylonwalker.com&lt;/a&gt;). It&amp;rsquo;s a short note that I make about someone else&amp;rsquo;s content online.  Learn more about the process &lt;a href=&#34;/thoughts/&#34; class=&#34;wikilink&#34; data-title=&#34;Thoughts&#34; data-description=&#34;My thoughts are found at my thoughts feed&#34; data-date=&#34;2025-06-09&#34; data-preview=&#34;My thoughts are found at my thoughts feed&#34;&gt;Thoughts&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;</content>
    <author>
      <name>Nic Payne</name>
      <uri>https://pype.dev</uri>
    </author>
  </entry>
</feed>