<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
  <title>Kuore Lab — Techno Blog</title>
  <link>https://kuorelab.fi/blog/</link>
  <atom:link href="https://kuorelab.fi/blog/rss.xml" rel="self" type="application/rss+xml"/>
  <description>Occasional notes from the Kuore Lab team on technical problems, security issues and things we've investigated.</description>
  <language>en</language>
  <lastBuildDate>Sun, 25 Oct 2026 19:51:27 +0000</lastBuildDate>
  <item>
    <title>A Busy October for Software Security: Critical Vulnerabilities in PHP, GitLab, Node.js and Symfony</title>
    <link>https://kuorelab.fi/blog/2026-10-critical-vulnerabilities/</link>
    <guid isPermaLink="true">https://kuorelab.fi/blog/2026-10-critical-vulnerabilities/</guid>
    <pubDate>Sat, 24 Oct 2026 00:00:00 +0000</pubDate>
    <description>Between October 15 and 23, PHP, GitLab, Node.js and Symfony all shipped fixes for critical vulnerabilities — two of them serious enough that Finland temporarily took government websites offline. A look at what broke, and what we're building to keep up.</description>
    <content:encoded><![CDATA[<h2>A few words about this blog</h2>
<p>In our daily work, we regularly encounter technical problems, security issues and unexpected software behaviour that might be interesting to others.</p>
<p>We've decided to occasionally share some of these experiences here. Nothing too formal — just things we've investigated, lessons we've learned and technical details we think are worth sharing.</p>
<p>For our first article, let's look at several serious security vulnerabilities that appeared in October 2026.</p>

<h2>One week, several critical vulnerabilities</h2>
<p>Between October 15 and 23, several widely used software projects released patches for critical vulnerabilities.</p>
<div class="kl-table-scroll">
<table>
  <thead>
    <tr><th>Software</th><th>CVE</th><th>Impact</th><th>CVSS</th></tr>
  </thead>
  <tbody>
    <tr><td>PHP</td><td>CVE-2026-109618, 109619</td><td>Remote code execution</td><td>9.2</td></tr>
    <tr><td>GitLab / Onigmo</td><td>CVE-2026-89078, 93577, 97229, 110264</td><td>Remote code execution</td><td>Up to 10.0</td></tr>
    <tr><td>Node.js</td><td>CVE-2026-111497</td><td>Memory corruption / RCE</td><td>9.2</td></tr>
    <tr><td>Symfony</td><td>CVE-2026-108082</td><td>Denial of service</td><td>8.7</td></tr>
  </tbody>
</table>
</div>

<h3>PHP: serious enough to shut down government websites</h3>
<p>Two PHP vulnerabilities, collectively nicknamed <em>PHP2Shell</em>, could allow attackers to execute code remotely without authentication.</p>
<p>The issues involve memory corruption and incorrect handling of global state. Fixes arrived on October 21 in PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35.</p>
<p>The potential impact was serious enough that Finland's government ICT provider, Valtori, temporarily restricted access to several public services as a precaution. Similar measures were reported in other European countries.</p>
<p>There was no confirmed breach behind the Finnish shutdowns — authorities simply chose not to take the risk.</p>
<p class="kl-sources"><a href="https://www.rapid7.com/blog/post/etr-cve-2026-109618-and-cve-2026-109619-critical-unauthenticated-remote-code-execution-in-php/" rel="noopener">Rapid7 analysis</a> · <a href="https://yle.fi/a/74-20252600" rel="noopener">Yle</a></p>

<h3>GitLab: vulnerabilities hiding in twelve-year-old code</h3>
<p>Four GitLab vulnerabilities originated in Onigmo, the regular-expression engine used by Ruby.</p>
<p>The bugs involve memory management errors and integer overflows. Under certain conditions, specially crafted input can trigger remote code execution.</p>
<p>Two vulnerabilities received the maximum CVSS score of 10.0 and were reported to require no authentication.</p>
<p>Perhaps the most surprising detail is that the affected code reportedly dates back to GitLab 7.0, released in 2014.</p>
<p>An initial fix also turned out to be incomplete, requiring another round of patches in October.</p>
<p>Ruby released corrections on October 23, followed by updated GitLab packages.</p>
<p class="kl-sources"><a href="https://thehackernews.com/2026/10/ruby-fixes-three-regex-engine-bugs.html" rel="noopener">The Hacker News</a> · <a href="https://lilting.ch/en/articles/ruby-regexp-onigmo-fixes-gitlab-cves" rel="noopener">Technical analysis</a></p>

<h3>Node.js: a decompression bug with serious consequences</h3>
<p>CVE-2026-111497, nicknamed <em>Node2Shell</em>, affects the Brotli decompressor bundled with Node.js.</p>
<p>A malformed compressed stream could cause an out-of-bounds memory write, potentially leading to remote code execution.</p>
<p>Since Brotli is widely used for HTTP compression, applications processing untrusted compressed content could be exposed.</p>
<p>The issue was fixed in Node.js 22.23.4, 24.22.1 and 26.12.1.</p>
<p class="kl-sources"><a href="https://nodejs.org/en/blog/vulnerability/october-2026-security-releases" rel="noopener">Node.js security advisory</a></p>

<h3>Symfony: a few spaces can exhaust your CPU</h3>
<p>CVE-2026-108082 is a regular-expression denial-of-service vulnerability in Symfony's HttpFoundation component.</p>
<p>A specially crafted HTTP header containing long sequences of whitespace can trigger excessive regex backtracking, consuming significant CPU time.</p>
<p>Repeated requests could make an application unavailable without requiring authentication.</p>
<p>The vulnerability received a CVSS score of 8.7 and was fixed in Symfony 5.4.54, 6.4.46, 7.4.19 and 8.1.7.</p>
<p class="kl-sources"><a href="https://app.opencve.io/cve/CVE-2026-108082" rel="noopener">CVE details</a></p>

<h2>A few thoughts</h2>
<p>What caught our attention wasn't just the severity of these vulnerabilities, but how ordinary their underlying causes were: memory handling, input parsing, regular expressions and decompression routines.</p>
<p>Some of these bugs had apparently survived years of development and countless software releases.</p>
<p>It's also worth remembering that updating application code isn't enough when the vulnerability lives somewhere deeper in the dependency chain.</p>

<h2>So, what are we going to do about it?</h2>
<p>Looking at this whole mess, we came to a rather simple conclusion: manually keeping track of every new vulnerability and checking whether it affects our software isn't a particularly sustainable approach.</p>
<p>So we've decided to build ourselves a robot.</p>
<p>The idea is to have it continuously monitor vulnerability databases and security advisories, identify newly disclosed issues that might be relevant to our technology stack, then automatically deploy our code into isolated sandbox containers with the appropriate dependencies and configurations.</p>
<p>From there, it would run security scans and tests against those environments, looking for potential vulnerabilities — continuously, rather than only when someone remembers to check.</p>
<p>Of course, automated scanning won't catch everything. But we'd much rather have a robot checking things tirelessly than rely entirely on manual reviews and occasional security audits.</p>
<p>That's the plan, anyway. We'll share more as the project develops.</p>
<p class="kl-cta"><strong>Want something similar for your own software? We can build one for you too. <a href="/#contacts">Get in touch.</a></strong></p>

<hr>
<p class="kl-post-foot"><em>Based on publicly available security advisories and technical reports as of October 24, 2026.</em></p>]]></content:encoded>
  </item>
</channel>
</rss>
