Skip to content

blog: October 2026 security releases - #2553

Merged
UlisesGascon merged 4 commits into
mainfrom
blog/october-2026-security-releases
Oct 31, 2026
Merged

UlisesGascon merged 4 commits into
mainfrom
blog/october-2026-security-releases

Conversation

@UlisesGascon

@UlisesGascon UlisesGascon commented Oct 27, 2026 •

Copy link
Copy Markdown
Member

👉 PREVIEW LINK

Security releases blog post for October 2026.

CVEs covered:

Also includes a defense-in-depth note on the upstream Brotli decoder vulnerability (CVE-2026-111497), recommending a Node.js upgrade with a middleware fallback.

Notes:

@UlisesGascon UlisesGascon self-assigned this Oct 27, 2026
@netlify

netlify Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for expressjscom-preview ready!

Name Link
🔨 Latest commit bea8e49
🔍 Latest deploy log https://app.netlify.com/projects/expressjscom-preview/deploys/6ae5ca346e2143ab58d411b9
😎 Deploy Preview https://deploy-preview-2553--expressjscom-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 87 (🔴 down 10 from production)
Accessibility: 100 (no change from production)
Best Practices: 100 (no change from production)
SEO: 100 (no change from production)
PWA: 80 (no change from production)
View the detailed breakdown and full score reports
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

Comment on lines +61 to +86
## A note on Brotli decompression (CVE-2026-111497)

Google recently published [CVE-2026-111497](https://www.cve.org/CVERecord?id=CVE-2026-111497), an out-of-bounds write in the Brotli decoder, which raised community concern about its impact on the Express ecosystem. Node.js bundles this decoder, and Express applications that accept Brotli-compressed request bodies reach it: with default options, `express.json()`, `express.urlencoded()`, and the other body parsers decompress a `Content-Encoding: br` request body through Node's `zlib.createBrotliDecompress()`.

As the Express project, our recommendation is to **upgrade Node.js** to a release that ships the patched Brotli decoder. That is the real fix. Only if you cannot upgrade Node for some reason, and your application does not need Brotli-compressed request bodies, use a workaround like the following to reject them at the edge before any body parser runs:

```js
// Register before every body parser or decompression middleware.
app.use((req, res, next) => {
const encoding = (req.get('Content-Encoding') || 'identity')
.trim().toLowerCase();

if (!['identity', 'gzip', 'deflate'].includes(encoding)) {
return res.status(415).send(
'Use gzip, deflate, or an uncompressed request body.'
);
}
next();
});

// Keep your existing parser options and register routes afterward.
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
```

Thanks to [Patch the Planet](https://patchtheplanet.org/brotli) for reporting the impact on the Express ecosystem and for the write-up and workaround.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cc: @jonchurch @ctcpip @sheplu I think this covers what we discussed yesterday but feel free to make changes!

@UlisesGascon
UlisesGascon force-pushed the blog/october-2026-security-releases branch from e856ee4 to 0a412cc Compare October 30, 2026 18:43
@UlisesGascon

Copy link
Copy Markdown
Member Author

Just updated the file date and I plan to merge it in 12h aprox from now 👍

@UlisesGascon
UlisesGascon marked this pull request as ready for review October 30, 2026 18:44
@UlisesGascon
UlisesGascon requested a review from a team as a code owner October 30, 2026 18:44
@UlisesGascon
UlisesGascon merged commit 4e285e2 into main Oct 31, 2026
14 checks passed
@UlisesGascon
UlisesGascon deleted the blog/october-2026-security-releases branch October 31, 2026 11:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants