fix: sichere Brotli-Laufzeit ab und erhöhe Patchversionen
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 1m6s
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 1m6s
This commit is contained in:
1
backend/.nvmrc
Normal file
1
backend/.nvmrc
Normal file
@@ -0,0 +1 @@
|
||||
24.22.1
|
||||
7
backend/package-lock.json
generated
7
backend/package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "backend",
|
||||
"version": "1.0.0",
|
||||
"version": "1.0.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "backend",
|
||||
"version": "1.0.0",
|
||||
"version": "1.0.1",
|
||||
"hasInstallScript": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
@@ -37,6 +37,9 @@
|
||||
"cross-env": "^7.0.3",
|
||||
"nodemon": "^3.1.4",
|
||||
"vue-eslint-parser": "9.4.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^22.23.4 || ^24.22.1 || ^26.12.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/runtime": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "backend",
|
||||
"version": "1.0.0",
|
||||
"version": "1.0.1",
|
||||
"main": "server.js",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
@@ -42,5 +42,8 @@
|
||||
"cross-env": "^7.0.3",
|
||||
"nodemon": "^3.1.4",
|
||||
"vue-eslint-parser": "9.4.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^22.23.4 || ^24.22.1 || ^26.12.1"
|
||||
}
|
||||
}
|
||||
|
||||
22
backend/scripts/require-safe-node.cjs
Normal file
22
backend/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;
|
||||
@@ -1,3 +1,4 @@
|
||||
import './scripts/require-safe-node.cjs';
|
||||
import express from 'express';
|
||||
import path from 'path';
|
||||
import { fileURLToPath } from 'url';
|
||||
|
||||
Reference in New Issue
Block a user