fix: sichere Brotli-Laufzeit ab und erhöhe Patchversionen
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import './scripts/require-safe-node.cjs';
|
||||
// https://nuxt.com/docs/api/configuration/nuxt-config
|
||||
export default defineNuxtConfig({
|
||||
devtools: { enabled: process.env.NODE_ENV !== 'production' },
|
||||
|
||||
6
package-lock.json
generated
6
package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "harheimertc-website",
|
||||
"version": "1.8.13",
|
||||
"version": "1.9.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "harheimertc-website",
|
||||
"version": "1.8.13",
|
||||
"version": "1.9.1",
|
||||
"hasInstallScript": true,
|
||||
"dependencies": {
|
||||
"@pinia/nuxt": "^0.11.2",
|
||||
@@ -44,7 +44,7 @@
|
||||
"vue-eslint-parser": "^10.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=22.12.0",
|
||||
"node": "^22.23.4 || ^24.22.1 || ^26.12.1",
|
||||
"npm": "10.9.7"
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"name": "harheimertc-website",
|
||||
"version": "1.9.0",
|
||||
"version": "1.9.1",
|
||||
"description": "Moderne Webseite für den Harheimer Tischtennis Club",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"engines": {
|
||||
"node": ">=22.12.0",
|
||||
"node": "^22.23.4 || ^24.22.1 || ^26.12.1",
|
||||
"npm": "10.9.7"
|
||||
},
|
||||
"scripts": {
|
||||
|
||||
22
scripts/require-safe-node.cjs
Normal file
22
scripts/require-safe-node.cjs
Normal file
@@ -0,0 +1,22 @@
|
||||
// CVE-2026-111497: Node's bundled Brotli decoder must include the security fix.
|
||||
// Check Node versions: patched releases can still report Brotli 1.2.0.
|
||||
// https://nodejs.org/en/blog/vulnerability/october-2026-security-releases
|
||||
'use strict';
|
||||
|
||||
function requireSafeNode() {
|
||||
const [major, minor, patch] = process.versions.node.split('.').map(Number);
|
||||
const minimum = { 22: [23, 4], 24: [22, 1], 26: [12, 1] }[major];
|
||||
const patched = minimum && (minor > minimum[0] ||
|
||||
(minor === minimum[0] && patch >= minimum[1]));
|
||||
|
||||
if (!patched) {
|
||||
throw new Error(
|
||||
`CVE-2026-111497: Node.js ${process.versions.node} is not an approved patched runtime. ` +
|
||||
'Use Node.js 22.23.4+, 24.22.1+ or 26.12.1+ within those release lines. ' +
|
||||
'Recommended: nvm install && nvm use (see .nvmrc). Restart all server/PM2 processes after upgrading.'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
requireSafeNode();
|
||||
module.exports = requireSafeNode;
|
||||
6
server/plugins/require-safe-node.js
Normal file
6
server/plugins/require-safe-node.js
Normal file
@@ -0,0 +1,6 @@
|
||||
import requireSafeNode from '../../scripts/require-safe-node.cjs';
|
||||
|
||||
// An explicit call keeps the guard in Nitro's production bundle.
|
||||
requireSafeNode();
|
||||
|
||||
export default defineNitroPlugin(() => {});
|
||||
Reference in New Issue
Block a user