Pricing
Back to the newsletter
SecurityLinuxNode.jsPython·

From PHP to root, and a Brotli bug under attack

An old Linux kernel bug is being chained with PHP2Shell to take over whole servers, a compression library used by Node.js, Python and Go is being exploited, and certificate stores need an update.

This week was about chains. Attackers are pairing last week's PHP flaws with a Linux kernel bug to go from a web request to root, a memory bug in the Brotli compression library moved onto the list of actively exploited vulnerabilities, and two popular self-hosted PHP applications joined it.

Most of the fixes already exist. The work is making sure they are actually running: updated kernels after a reboot, rebuilt container images, and restarted processes.

PHP2Shell now leads to root

On 28 October the US Cybersecurity and Infrastructure Security Agency (CISA) added CVE-2026-46300, a Linux kernel bug, to its catalogue of actively exploited vulnerabilities. CISA says it is being chained with the two PHP2Shell flaws from our last issue to plant PHP web shells and run commands as root.

The kernel bug (CVSS 7.8) is not reachable from the network on its own. It lets a local, unprivileged user corrupt files cached in memory, which can be turned into full control of the machine. PHP2Shell supplies that local foothold. So on an unpatched server, a single crafted request no longer stops at the PHP process's permissions.

The fix was published in May and is in these stable kernels:

Kernel lineFixed in
7.07.0.10
6.186.18.33
6.126.12.91
6.66.6.141
6.16.1.174
5.155.15.208
5.105.10.257

Distribution kernels carry their own version numbers, so check your distribution's advisory for CVE-2026-46300 rather than comparing numbers. Then reboot: a new kernel package does nothing until the machine boots it. Containers share the host's kernel, so rebuilding an image does not fix this. The host has to be updated.

If you run PHP and had not patched PHP2Shell by the time attacks began, assume the worst. Look for unfamiliar PHP files in your web root, and rotate any database passwords and API keys the server could read.

Brotli: patch Node.js, Python and Go dependencies

CVE-2026-111497 (CVSS 9.2) is an out-of-bounds write in the decoder of Brotli, the compression format behind Content-Encoding: br. A crafted compressed stream can crash the process, leak memory or, potentially, run code. CISA added it to its exploited list on 27 October.

It affects Brotli 1.0.3 through 1.2.0, fixed in 1.0.10, 1.1.1 and 1.2.1. Anything that decompresses Brotli data it did not produce is in scope, such as a server that accepts compressed request bodies or a client that fetches compressed responses. Brotli is bundled in many places, so check each:

For an app on Cosmoner or any other platform, redeploy so the build picks up the fixed Node.js release and your lockfile's updated packages. For your own container images, rebuild on an updated base image.

Nextcloud Office and Magento, both exploited

Two more PHP applications that teams host themselves were added to CISA's list this week.

Nextcloud with the built-in Collabora server. CVE-2026-110447 (CVSS 9.2) is a command injection in the Collabora Online - Built-in CODE Server app (richdocumentscode), versions before 26.4.303, and it was exploited in September and October. Nextcloud's community notice explains what to do. Standalone Collabora servers, Docker or package installs, and hosted Collabora are not affected. Update the app to 26.4.303, which needs Nextcloud 30 or newer, or remove it if you do not use it. Users in that thread found backdoor PHP files under apps/richdocumentscode/, so check for files the integrity check reports as extra, and look for requests to proxy.php?status in your access logs.

Adobe Commerce and Magento Open Source. CVE-2026-48356 (CVSS 9.3) is a file upload flaw that can lead to code execution. Adobe fixed it in July in APSB26-73, and CISA added it to its exploited list on 27 October. If your shop has not applied the July 2026 security patches, do it now.

Update your certificate stores

On 17 October Mozilla received a report that the private keys of eight intermediate certificates belonging to eMudhra, a certificate authority, had been compromised. With those keys an attacker could issue HTTPS certificates for sites they do not control. Browsers blocked them within days, and Mozilla removed the root that signed them from its NSS trust store in version 3.131.1.

Your servers do not get browser updates. Code that makes outbound HTTPS calls trusts whatever certificate store it was built with, and that is usually your runtime or your operating system's ca-certificates package:

There is nothing to configure. Update, rebuild and redeploy, and the bad certificates stop being trusted.

PostgreSQL 14 ends in two weeks

PostgreSQL 14 reaches end of life on 12 November, the same day as the next scheduled round of minor releases. After that it gets no security fixes. Moving to a newer major version takes pg_upgrade or a dump and restore, so test it on a copy of your data before you plan the switch.

If you are choosing where to go, PostgreSQL 19 is planned for 19 November, with a second release candidate on 12 November. For a production move this month, PostgreSQL 18 is the safer target; 19 is worth testing your workload against now.

On Cosmoner this week

Get the next issue by email