Kort fortalt
- Opdater PHP til 8.5.12, 8.4.27, 8.3.36 eller 8.2.35 i dag for at lukke PHP2Shell-sårbarhederne.
- Tjek om litellm 1.107.0 er installeret, og skift straks til 1.106.2.
- 23 udbredte pakker har kritiske huller, bl.a. openclaw, pillow, @vitest/browser, next, handlebars, tinypool.
- 6 pakker har huller uden rettet version, og 4 har ikke fået en commit i over et halvt år.
- .NET 9 (10. nov. 2026), .NET 8 (10. nov. 2026), PHP 8.2 (31. dec. 2026) mister snart sikkerhedsrettelser.
Dagens sager
PHP2Shell: kritiske PHP-huller lukket med nødopdatering
Php-udviklerne har udsendt en nødopdatering, der lukker to kritiske sårbarheder, CVE-2026-109618 og CVE-2026-109619, kendt samlet som PHP2Shell. Begge har en CVSS-score på 9.2 og gør det muligt for en angriber uden login at køre kode på en webserver, ifølge den officielle sikkerhedsadvisory fra php.net.
Sårbarhederne rammer PHP-FPM, Apache med mod_php, php-cgi, FrankenPHP og LiteSpeed. Fejlene er rettet i PHP 8.5.12, 8.4.27, 8.3.36 og 8.2.35. Php.net skriver, at kun en opdatering giver fuld beskyttelse; midlertidige konfigurationsændringer kan reducere risikoen, men ikke fjerne den.
LiteLLM kompromitteret på PyPI med bagdør i version 1.107.0
Python-pakken litellm blev kompromitteret på PyPI den 21. oktober, da version 1.107.0 blev udgivet med skadelig kode i alle syv wheel-filer og i de officielle Docker-images under tags som latest og v1.107.0, ifølge StepSecuritys gennemgang af sagen.
Koden stjal loginoplysninger, ssh- og gpg-nøgler, cloud- og ci-adgang samt api-nøgler, og den satte desuden en baggrundsproces op, der hver time tjekker en ekstern adresse for ny kode at hente og køre. Udgivelsen kom fra et efterligningsrepository, og BerriAI fjernede den fra både PyPI og Docker Hub samme dag. Den sikre version er 1.106.2; alt, der har haft 1.107.0 installeret, bør skifte version og rotere alle adgangskoder og nøgler.
Kritiske huller i udbredte pakker
Disse 23 pakker har mindst én kritisk sårbarhed i ældre versioner. Kolonnen Opdater til er den nyeste stabile version, som indeholder alle kendte rettelser. Seneste commit viser, hvornår der sidst blev arbejdet i projektets kildekode, så du kan se, om det bliver vedligeholdt.
| Pakke | Økosystem | Det alvorligste hul | Opdater til | Seneste commit | Kildekode |
|---|---|---|---|---|---|
openclaw | npm | OpenClaw has a CWD `.env` environment variable injection which bypasses host-env policy and allows config takeover (+9 kritiske mere) | 2026.10.5 | 22. okt. 2026 | openclaw/openclaw |
pillow | PyPI | Pillow: Heap buffer overflow in ImagingJpegDecode (+3 kritiske mere) | 13.0.0 | 21. okt. 2026 | python-pillow/Pillow |
@vitest/browser | npm | Vitest browser mode serves unsanitized otelCarrier query parameter as inline script (+2 kritiske mere) | 5.0.5 | 22. okt. 2026 | vitest-dev/vitest |
next | npm | Next.js: Unauthenticated Remote Code Execution in Image Optimization API when AVIF files are used (+2 kritiske mere) | 16.4.2 | 22. okt. 2026 | vercel/next.js |
handlebars | npm | Handlebars: JavaScript Injection via AST Type Confusion in compile (bypass of CVE-2026-33937) (+1 kritiske mere) | 4.7.10 | 24. jun. 2026 | handlebars-lang/handlebars.js |
tinypool | npm | Tinypool: Prototype Pollution gadget in worker options leads to Remote Code Execution (+1 kritiske mere) | 2.2.0 | 13. sep. 2026 | tinylibs/tinypool |
@simple-git/argv-parser | npm | simple-git: `VISUAL` editor environment variable is omitted from unsafe editor detection | 2.0.1 | 26. sep. 2026 | steveukx/git-js |
@whiskeysockets/baileys | npm | Baileys has message upsert / hist sync spoofing and app state corruption when using maliciously crafted protocolMessage payload | 6.7.22 | 4. aug. 2026 | WhiskeySockets/Baileys |
anyio | PyPI | AnyIO: TLSStream IDNA 2003 host name encoding enables potential TLS certificate spoofing | 4.15.1 | 20. okt. 2026 | agronholm/anyio |
astro | npm | Astro: Remote code execution through AVIF image optimization | 7.4.2 | 21. okt. 2026 | withastro/astro |
certifi | PyPI | certifi bundles emSign root CAs with compromised intermediate CA keys | 2026.10.19 | 20. okt. 2026 | certifi/python-certifi |
drupal/core | Composer | Drupal Core has a SQL Injection issue | 11.4.11 | 20. okt. 2026 | drupal/core |
mtdowling/jmespath.php | Composer | jmespath.php has CompilerRuntime code injection via unescaped function names | 2.9.2 | 6. jul. 2026 | jmespath/jmespath.php |
protobufjs | npm | Arbitrary code execution in protobufjs | 8.8.1 | 11. okt. 2026 | protobufjs/protobuf.js |
proxy-addr | npm | proxy-addr vulnerable to IP spoofing via IPv4-mapped IPv6 trust subnet | 2.0.8 | 15. sep. 2026 | jshttp/proxy-addr |
pyjwt | PyPI | PyJWT: Asymmetric-PEM detection bypass: whitespace/line-ending-mutated public keys skip the HS/asymmetric confusion guard | 2.15.1 | 14. okt. 2026 | jpadilla/pyjwt |
pymysql | PyPI | PyMySQL SQL Injection vulnerability | 1.2.3 | 21. okt. 2026 | PyMySQL/PyMySQL |
shell-quote | npm | shell-quote: `quote()` command injection via a line terminator in a token after a `{ comment }` token | 1.12.0 | 2. okt. 2026 | ljharb/shell-quote |
simple-git | npm | simple-git unsafe-operation guard does not block trailer command configuration | 4.0.2 | 26. sep. 2026 | steveukx/git-js |
tar | npm | node-tar: Decompression/parse DoS via unlimited input | 7.5.22 | 24. jul. 2026 | isaacs/node-tar |
twig/twig | Composer | Twig: PHP code injection via `{% use %}` template name | 3.30.0 | 19. okt. 2026 | twigphp/Twig |
vitest | npm | When Vitest UI server is listening, arbitrary file can be read and executed | 5.0.5 | 22. okt. 2026 | vitest-dev/vitest |
websocket-driver | npm | websocket-driver: Message corruption via abuse of protocol length headers | 0.7.5 | 4. jun. 2026 | faye/websocket-driver-node |
Overblikket i tal
npm fylder mest, fordi en typisk JavaScript-app trækker hundredvis af indirekte afhængigheder med sig. De fleste af hullerne sidder i pakker, du aldrig selv har valgt, men som kommer ind gennem et framework eller et byggeværktøj. Derfor skal du opdatere lockfilen, ikke kun dine direkte afhængigheder.
Uden rettelse eller uden vedligehold
Det farligste på listen er ikke de kritiske huller med en rettet version. Det er pakkerne, hvor der ikke findes nogen rettelse, eller hvor ingen længere arbejder på koden.
| Pakke | Økosystem | Hul | Seneste commit |
|---|---|---|---|
braces | npm | GHSA-vfj7-8cjw-p6xm: braces vulnerable to stack-exhaustion denial of service through deeply nested patterns | 19. jan. 2025 (over et år) |
node-forge | npm | GHSA-86w9-cpqp-85rv: node-forge RSA PKCS#1 v1.5 signature verification accepts extra nested DigestAlgorithm elements | 25. sep. 2026 |
extract-zip | npm | GHSA-7pqw-9j4j-h8q3, GHSA-jmr9-qjv8-65gv: extract-zip allows arbitrary file writes through symlink archive entries | 1. aug. 2021 (over et år) |
http-cache-semantics | npm | GHSA-ch52-4w7c-c8xp: http-cache-semantics max-stale handling can disclose cross-user cached responses | 4. okt. 2026 |
accelerate | PyPI | PYSEC-2026-3804: Accelerate path traversal and denial of service via sharded checkpoint weight_map entries | 20. okt. 2026 |
@mariozechner/pi-coding-agent | npm | GHSA-jfgx-wxx8-mp94: Pi Agent: Predictable temporary extension install paths allow local privilege escalation on shared Linux hosts | 21. okt. 2026 |
4 af 103 pakker har ikke haft en commit i over et halvt år. 76 har fået en commit inden for den seneste måned, så for dem handler det kun om at opdatere.
Platforme uden sikkerhedsrettelser
En opdateret pakke hjælper ikke, hvis platformen under den ikke længere får rettelser. PHP 8.1, Node.js 20, MySQL 8.0 er allerede ude af support. .NET 9 (10. nov. 2026), .NET 8 (10. nov. 2026), PHP 8.2 (31. dec. 2026) følger snart.
Datoerne er fra endoflife.date, tjekket 22. oktober 2026.
Alle pakker med høje sårbarheder
De resterende 80 pakker har ingen kritiske huller, men mindst ét højt. Søg på din pakke med Ctrl+F.
| Pakke | Økosystem | Høje huller | Opdater til | Seneste commit | Kildekode |
|---|---|---|---|---|---|
axios | npm | 17 | 1.20.0 | 21. okt. 2026 | axios/axios |
fast-uri | npm | 9 | 4.2.3 | 19. okt. 2026 | fastify/fast-uri |
league/commonmark | Composer | 9 | 2.10.4 | 17. okt. 2026 | thephpleague/commonmark |
cryptography | PyPI | 7 | 50.0.2 | 21. okt. 2026 | pyca/cryptography |
typo3/cms-core | Composer | 6 | 14.3.9 | 21. okt. 2026 | TYPO3-CMS/core |
undici | npm | 6 | 8.12.3 | 22. okt. 2026 | nodejs/undici |
adm-zip | npm | 5 | 0.6.1 | 13. okt. 2026 | cthackers/adm-zip |
aiohttp | PyPI | 5 | 3.14.5 | 21. okt. 2026 | aio-libs/aiohttp |
basic-ftp | npm | 5 | 6.2.3 | 9. okt. 2026 | patrickjuchli/basic-ftp |
brace-expansion | npm | 5 | 5.0.12 | 3. okt. 2026 | juliangruber/brace-expansion |
devalue | npm | 4 | 6.0.3 | 13. okt. 2026 | sveltejs/devalue |
nodemailer | npm | 4 | 10.2.0 | 21. okt. 2026 | nodemailer/nodemailer |
vite | npm | 4 | 8.3.5 | 22. okt. 2026 | vitejs/vite |
@grpc/grpc-js | npm | 3 | 1.14.6 | 20. okt. 2026 | grpc/grpc-node |
@modelcontextprotocol/sdk | npm | 3 | 1.32.1 | 20. okt. 2026 | modelcontextprotocol/typescript-sdk |
js-yaml | npm | 3 | 5.5.0 | 15. okt. 2026 | nodeca/js-yaml |
minimatch | npm | 3 | 10.2.6 | 27. jul. 2026 | isaacs/minimatch |
multer | npm | 3 | 2.4.0 | 21. okt. 2026 | expressjs/multer |
nanoid | npm | 3 | 6.0.2 | 16. okt. 2026 | ai/nanoid |
sharp | npm | 3 | 0.35.5 | 20. okt. 2026 | lovell/sharp |
tar-fs | npm | 3 | 3.1.3 | 27. jun. 2026 | mafintosh/tar-fs |
werkzeug | PyPI | 3 | 3.1.9 | 17. okt. 2026 | pallets/werkzeug |
browserslist | npm | 2 | 4.29.4 | 19. okt. 2026 | browserslist/browserslist |
extract-zip | npm | 2 | Ingen rettet version | 1. aug. 2021 (over et år) | max-mapper/extract-zip |
flask-cors | PyPI | 2 | 6.0.5 | 8. jun. 2026 | corydolphin/flask-cors |
follow-redirects | npm | 2 | 1.16.1 | 8. okt. 2026 | follow-redirects/follow-redirects |
gunicorn | PyPI | 2 | 26.2.0 | 6. sep. 2026 | benoitc/gunicorn |
image-size | npm | 2 | 2.0.4 | 14. sep. 2026 | codeberg.org/image-size/image-size |
immutable | npm | 2 | 5.1.9 | 17. okt. 2026 | immutable-js/immutable-js |
markdown-it | npm | 2 | 15.0.3 | 16. okt. 2026 | markdown-it/markdown-it |
path-to-regexp | npm | 2 | 8.4.2 | 21. okt. 2026 | pillarjs/path-to-regexp |
phpseclib/phpseclib | Composer | 2 | 4.0.2 | 20. okt. 2026 | phpseclib/phpseclib |
postcss | npm | 2 | 8.5.31 | 18. okt. 2026 | postcss/postcss |
quick-xml | Cargo | 2 | 0.42.0 | 2. sep. 2026 | tafia/quick-xml |
react/http | Composer | 2 | 1.11.1 | 9. sep. 2026 | reactphp/http |
starlette | PyPI | 2 | 1.9.0 | 21. okt. 2026 | Kludex/starlette |
svgo | npm | 2 | 4.1.0 | 27. aug. 2026 | svg/svgo |
toml | npm | 2 | 5.0.1 | 12. okt. 2026 | BinaryMuse/toml-node |
urllib3 | PyPI | 2 | 2.8.0 | 21. okt. 2026 | urllib3/urllib3 |
ws | npm | 2 | 8.22.0 | 9. okt. 2026 | websockets/ws |
@astrojs/node | npm | 1 | 11.1.9 | 21. okt. 2026 | withastro/astro |
@mariozechner/pi-coding-agent | npm | 1 | Ingen rettet version | 21. okt. 2026 | earendil-works/pi |
@opentelemetry/exporter-prometheus | npm | 1 | 0.300.0 | 21. okt. 2026 | open-telemetry/opentelemetry-js |
@opentelemetry/propagator-jaeger | npm | 1 | 2.12.0 | 21. okt. 2026 | open-telemetry/opentelemetry-js |
@opentelemetry/sdk-node | npm | 1 | 0.300.0 | 21. okt. 2026 | open-telemetry/opentelemetry-js |
@remix-run/server-runtime | npm | 1 | 2.17.5 | 21. okt. 2026 | remix-run/remix |
accelerate | PyPI | 1 | Ingen rettet version | 20. okt. 2026 | huggingface/accelerate |
braces | npm | 1 | Ingen rettet version | 19. jan. 2025 (over et år) | micromatch/braces |
compression | npm | 1 | 1.8.2 | 11. sep. 2026 | expressjs/compression |
cross-spawn | npm | 1 | 7.0.6 | 18. nov. 2024 (over et år) | moxystudio/node-cross-spawn |
defu | npm | 1 | 6.1.7 | 17. maj 2026 | unjs/defu |
doctrine/annotations | Composer | 1 | 2.0.2 | 11. dec. 2025 (over et halvt år) | doctrine/annotations |
fast-xml-parser | npm | 1 | 5.11.2 | 29. sep. 2026 | NaturalIntelligence/fast-xml-parser |
form-data | npm | 1 | 4.0.6 | 12. jun. 2026 | form-data/form-data |
fsspec | PyPI | 1 | 2026.9.0 | 21. okt. 2026 | fsspec/filesystem_spec |
guzzlehttp/guzzle | Composer | 1 | 8.3.0 | 18. okt. 2026 | guzzle/guzzle |
hono | npm | 1 | 4.13.13 | 17. okt. 2026 | honojs/hono |
http-cache-semantics | npm | 1 | Ingen rettet version | 4. okt. 2026 | kornelski/http-cache-semantics |
ip-address | npm | 1 | 10.7.4 | 21. okt. 2026 | beaugunderson/ip-address |
joi | npm | 1 | 18.3.0 | 16. okt. 2026 | hapijs/joi |
launch-editor | npm | 1 | 2.14.2 | 6. okt. 2026 | vitejs/launch-editor |
lodash | npm | 1 | 4.18.1 | 11. sep. 2026 | lodash/lodash |
mcp | PyPI | 1 | 2.3.0 | 17. okt. 2026 | modelcontextprotocol/python-sdk |
mysql-connector-python | PyPI | 1 | 26.7.0 | 10. jul. 2026 | mysql/mysql-connector-python |
node-forge | npm | 1 | Ingen rettet version | 25. sep. 2026 | digitalbazaar/forge |
phpcsstandards/phpcsutils | Composer | 1 | 1.2.3 | 21. okt. 2026 | PHPCSStandards/PHPCSUtils |
phpunit/phpunit | Composer | 1 | 13.4.3 | 21. okt. 2026 | sebastianbergmann/phpunit |
picomatch | npm | 1 | 4.0.7 | 27. aug. 2026 | micromatch/picomatch |
playwright | npm | 1 | 1.64.1 | 22. okt. 2026 | microsoft/playwright |
prosemirror-view | npm | 1 | 1.42.6 | 21. okt. 2026 | code.haverbeke.berlin/prosemirror/prosemirror-view |
react-server-dom-webpack | npm | 1 | 19.3.1 | 21. okt. 2026 | react/react |
serialize-javascript | npm | 1 | 7.1.2 | 23. sep. 2026 | yahoo/serialize-javascript |
smol-toml | npm | 1 | 1.9.1 | 10. okt. 2026 | squirrelchat/smol-toml |
source-map-js | npm | 1 | 1.2.2 | 30. sep. 2026 | 7rulnik/source-map-js |
squizlabs/php_codesniffer | Composer | 1 | 4.0.4 | 21. aug. 2026 | PHPCSStandards/PHP_CodeSniffer |
symfony/mime | Composer | 1 | 8.1.7 | 21. okt. 2026 | symfony/mime |
turbo-stream | npm | 1 | 3.2.1 | 19. aug. 2026 | jacob-ebey/turbo-stream |
webpack-dev-middleware | npm | 1 | 8.5.0 | 21. okt. 2026 | webpack/webpack-dev-middleware |
wp-coding-standards/wpcs | Composer | 1 | 3.4.1 | 22. okt. 2026 | WordPress/WordPress-Coding-Standards |
wrangler | npm | 1 | 4.151.3 | 21. okt. 2026 | cloudflare/workers-sdk |
Hvad du skal gøre i dag
- Opdater PHP til 8.5.12, 8.4.27, 8.3.36 eller 8.2.35 for at lukke PHP2Shell-sårbarhederne.
- Fjern litellm 1.107.0, hvis den er installeret, og skift til version 1.106.2.
- Rotér adgangskoder, ssh- og gpg-nøgler samt cloud- og api-nøgler på enhver maskine, der har haft litellm 1.107.0 installeret.
- Blokér trafik til litellm.dev, hvis adressen optræder i logs.
- Kør revisionsværktøjet for dit økosystem:
npm audit,composer auditellerpip-audit. De bygger på de samme typer advisory-databaser som denne side. - Opdater lockfilen, ikke kun dine direkte afhængigheder. De fleste huller sidder i indirekte pakker.
- Erstat det, der ikke vedligeholdes. En pakke uden commits i et år får heller ikke rettet det næste hul.
Metode og kilder
Pakkelisten bygger på advisories fra OSV.dev, som samler GitHub Security Advisories, PyPA, RustSec og flere, og CISA's liste over aktivt udnyttede sårbarheder. Sårbarhederne er vurderet efter advisoryens egen alvorlighed (kritisk eller høj). Listen er fundet ved at scanne typiske PHP-, Node.js- og Python-stakke, så den er ikke en komplet liste over alle sårbare pakker. Datoen for seneste commit er hentet fra hvert projekts kildekode-repo. Versionen under Opdater til er den nyeste stabile udgivelse i registret (npm, PyPI, Packagist eller crates.io), som indeholder alle kendte rettelser. Hvert advisory-ID kan slås op på osv.dev. Kilder til dagens sager: PHP.net sikkerhedsadvisory, StepSecurity, PyPI (litellm).