Opdateret 22. oktober 2026

Kritisk PHP-hul, LiteLLM kompromitteret og 104 sårbare pakker

PHP har udsendt nødopdateringer til to kritiske sårbarheder, CVE-2026-109618 og CVE-2026-109619, der samlet kaldes PHP2Shell og gør det muligt at køre kode på en webserver uden at være logget ind. Samme dag blev Python-pakken litellm kompromitteret på PyPI, hvor version 1.107.0 indeholdt kode, der stjal loginoplysninger og hentede ny kode fra nettet hver time. Siden lister de 104 pakker med kritiske eller alvorlige sårbarheder, hvilken version man skal opdatere til, og om det enkelte projekt stadig bliver vedligeholdt.

23 pakker med kritiske huller

6 uden rettet version · 4 uden commit i over et halvt år

Se de kritiske pakker

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.

Seneste døgnSeneste døgn (dansk tid)20. okt. 22.32Php varsler nødopdatering til to kritiske huller21. okt. 13.39Litellm 1.107.0 med bagdør lagt på PyPI21. okt. 15.23Litellm 1.107.0 fjernet fra PyPI igen21. okt. 16.00Php 8.5.12, 8.4.27, 8.3.36 og 8.2.35 udsendt

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.

Pakker med mindst én kritisk sårbarhed, opdateret 22. oktober 2026
PakkeØkosystemDet alvorligste hulOpdater tilSeneste commitKildekode
openclawnpmOpenClaw has a CWD `.env` environment variable injection which bypasses host-env policy and allows config takeover (+9 kritiske mere)2026.10.522. okt. 2026openclaw/openclaw
pillowPyPIPillow: Heap buffer overflow in ImagingJpegDecode (+3 kritiske mere)13.0.021. okt. 2026python-pillow/Pillow
@vitest/browsernpmVitest browser mode serves unsanitized otelCarrier query parameter as inline script (+2 kritiske mere)5.0.522. okt. 2026vitest-dev/vitest
nextnpmNext.js: Unauthenticated Remote Code Execution in Image Optimization API when AVIF files are used (+2 kritiske mere)16.4.222. okt. 2026vercel/next.js
handlebarsnpmHandlebars: JavaScript Injection via AST Type Confusion in compile (bypass of CVE-2026-33937) (+1 kritiske mere)4.7.1024. jun. 2026handlebars-lang/handlebars.js
tinypoolnpmTinypool: Prototype Pollution gadget in worker options leads to Remote Code Execution (+1 kritiske mere)2.2.013. sep. 2026tinylibs/tinypool
@simple-git/argv-parsernpmsimple-git: `VISUAL` editor environment variable is omitted from unsafe editor detection2.0.126. sep. 2026steveukx/git-js
@whiskeysockets/baileysnpmBaileys has message upsert / hist sync spoofing and app state corruption when using maliciously crafted protocolMessage payload6.7.224. aug. 2026WhiskeySockets/Baileys
anyioPyPIAnyIO: TLSStream IDNA 2003 host name encoding enables potential TLS certificate spoofing4.15.120. okt. 2026agronholm/anyio
astronpmAstro: Remote code execution through AVIF image optimization7.4.221. okt. 2026withastro/astro
certifiPyPIcertifi bundles emSign root CAs with compromised intermediate CA keys2026.10.1920. okt. 2026certifi/python-certifi
drupal/coreComposerDrupal Core has a SQL Injection issue11.4.1120. okt. 2026drupal/core
mtdowling/jmespath.phpComposerjmespath.php has CompilerRuntime code injection via unescaped function names2.9.26. jul. 2026jmespath/jmespath.php
protobufjsnpmArbitrary code execution in protobufjs8.8.111. okt. 2026protobufjs/protobuf.js
proxy-addrnpmproxy-addr vulnerable to IP spoofing via IPv4-mapped IPv6 trust subnet2.0.815. sep. 2026jshttp/proxy-addr
pyjwtPyPIPyJWT: Asymmetric-PEM detection bypass: whitespace/line-ending-mutated public keys skip the HS/asymmetric confusion guard2.15.114. okt. 2026jpadilla/pyjwt
pymysqlPyPIPyMySQL SQL Injection vulnerability1.2.321. okt. 2026PyMySQL/PyMySQL
shell-quotenpmshell-quote: `quote()` command injection via a line terminator in a token after a `{ comment }` token1.12.02. okt. 2026ljharb/shell-quote
simple-gitnpmsimple-git unsafe-operation guard does not block trailer command configuration4.0.226. sep. 2026steveukx/git-js
tarnpmnode-tar: Decompression/parse DoS via unlimited input7.5.2224. jul. 2026isaacs/node-tar
twig/twigComposerTwig: PHP code injection via `{% use %}` template name3.30.019. okt. 2026twigphp/Twig
vitestnpmWhen Vitest UI server is listening, arbitrary file can be read and executed5.0.522. okt. 2026vitest-dev/vitest
websocket-drivernpmwebsocket-driver: Message corruption via abuse of protocol length headers0.7.54. jun. 2026faye/websocket-driver-node

Overblikket i tal

Sårbare pakker pr. økosystem103 pakker med kritiske eller høje hullernpm72 pakkerPyPI16 pakkerComposer14 pakkerCargo1 pakkeMindst ét kritisk hulHøjeste niveau: højt

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.

Pakker uden rettet version for mindst ét kendt hul
PakkeØkosystemHulSeneste commit
bracesnpmGHSA-vfj7-8cjw-p6xm: braces vulnerable to stack-exhaustion denial of service through deeply nested patterns19. jan. 2025 (over et år)
node-forgenpmGHSA-86w9-cpqp-85rv: node-forge RSA PKCS#1 v1.5 signature verification accepts extra nested DigestAlgorithm elements25. sep. 2026
extract-zipnpmGHSA-7pqw-9j4j-h8q3, GHSA-jmr9-qjv8-65gv: extract-zip allows arbitrary file writes through symlink archive entries1. aug. 2021 (over et år)
http-cache-semanticsnpmGHSA-ch52-4w7c-c8xp: http-cache-semantics max-stale handling can disclose cross-user cached responses4. okt. 2026
acceleratePyPIPYSEC-2026-3804: Accelerate path traversal and denial of service via sharded checkpoint weight_map entries20. okt. 2026
@mariozechner/pi-coding-agentnpmGHSA-jfgx-wxx8-mp94: Pi Agent: Predictable temporary extension install paths allow local privilege escalation on shared Linux hosts21. okt. 2026
Bliver pakkerne vedligeholdt?Tid siden seneste commit76Under 30 dage151 til 3 mdr.83 til 6 mdr.16 til 12 mdr.3Over et år

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.

Hvornår holder platformene op med at få sikkerhedsrettelser?202620272028I dagPHP 8.131. dec. 2025Node.js 2030. apr. 2026MySQL 8.030. apr. 2026.NET 910. nov. 2026.NET 810. nov. 2026PHP 8.231. dec. 2026Node.js 2230. apr. 2027PHP 8.331. dec. 2027Node.js 2430. apr. 2028.NET 1014. nov. 2028

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.

Pakker med høje, men ikke kritiske, sårbarheder
PakkeØkosystemHøje hullerOpdater tilSeneste commitKildekode
axiosnpm171.20.021. okt. 2026axios/axios
fast-urinpm94.2.319. okt. 2026fastify/fast-uri
league/commonmarkComposer92.10.417. okt. 2026thephpleague/commonmark
cryptographyPyPI750.0.221. okt. 2026pyca/cryptography
typo3/cms-coreComposer614.3.921. okt. 2026TYPO3-CMS/core
undicinpm68.12.322. okt. 2026nodejs/undici
adm-zipnpm50.6.113. okt. 2026cthackers/adm-zip
aiohttpPyPI53.14.521. okt. 2026aio-libs/aiohttp
basic-ftpnpm56.2.39. okt. 2026patrickjuchli/basic-ftp
brace-expansionnpm55.0.123. okt. 2026juliangruber/brace-expansion
devaluenpm46.0.313. okt. 2026sveltejs/devalue
nodemailernpm410.2.021. okt. 2026nodemailer/nodemailer
vitenpm48.3.522. okt. 2026vitejs/vite
@grpc/grpc-jsnpm31.14.620. okt. 2026grpc/grpc-node
@modelcontextprotocol/sdknpm31.32.120. okt. 2026modelcontextprotocol/typescript-sdk
js-yamlnpm35.5.015. okt. 2026nodeca/js-yaml
minimatchnpm310.2.627. jul. 2026isaacs/minimatch
multernpm32.4.021. okt. 2026expressjs/multer
nanoidnpm36.0.216. okt. 2026ai/nanoid
sharpnpm30.35.520. okt. 2026lovell/sharp
tar-fsnpm33.1.327. jun. 2026mafintosh/tar-fs
werkzeugPyPI33.1.917. okt. 2026pallets/werkzeug
browserslistnpm24.29.419. okt. 2026browserslist/browserslist
extract-zipnpm2Ingen rettet version1. aug. 2021 (over et år)max-mapper/extract-zip
flask-corsPyPI26.0.58. jun. 2026corydolphin/flask-cors
follow-redirectsnpm21.16.18. okt. 2026follow-redirects/follow-redirects
gunicornPyPI226.2.06. sep. 2026benoitc/gunicorn
image-sizenpm22.0.414. sep. 2026codeberg.org/image-size/image-size
immutablenpm25.1.917. okt. 2026immutable-js/immutable-js
markdown-itnpm215.0.316. okt. 2026markdown-it/markdown-it
path-to-regexpnpm28.4.221. okt. 2026pillarjs/path-to-regexp
phpseclib/phpseclibComposer24.0.220. okt. 2026phpseclib/phpseclib
postcssnpm28.5.3118. okt. 2026postcss/postcss
quick-xmlCargo20.42.02. sep. 2026tafia/quick-xml
react/httpComposer21.11.19. sep. 2026reactphp/http
starlettePyPI21.9.021. okt. 2026Kludex/starlette
svgonpm24.1.027. aug. 2026svg/svgo
tomlnpm25.0.112. okt. 2026BinaryMuse/toml-node
urllib3PyPI22.8.021. okt. 2026urllib3/urllib3
wsnpm28.22.09. okt. 2026websockets/ws
@astrojs/nodenpm111.1.921. okt. 2026withastro/astro
@mariozechner/pi-coding-agentnpm1Ingen rettet version21. okt. 2026earendil-works/pi
@opentelemetry/exporter-prometheusnpm10.300.021. okt. 2026open-telemetry/opentelemetry-js
@opentelemetry/propagator-jaegernpm12.12.021. okt. 2026open-telemetry/opentelemetry-js
@opentelemetry/sdk-nodenpm10.300.021. okt. 2026open-telemetry/opentelemetry-js
@remix-run/server-runtimenpm12.17.521. okt. 2026remix-run/remix
acceleratePyPI1Ingen rettet version20. okt. 2026huggingface/accelerate
bracesnpm1Ingen rettet version19. jan. 2025 (over et år)micromatch/braces
compressionnpm11.8.211. sep. 2026expressjs/compression
cross-spawnnpm17.0.618. nov. 2024 (over et år)moxystudio/node-cross-spawn
defunpm16.1.717. maj 2026unjs/defu
doctrine/annotationsComposer12.0.211. dec. 2025 (over et halvt år)doctrine/annotations
fast-xml-parsernpm15.11.229. sep. 2026NaturalIntelligence/fast-xml-parser
form-datanpm14.0.612. jun. 2026form-data/form-data
fsspecPyPI12026.9.021. okt. 2026fsspec/filesystem_spec
guzzlehttp/guzzleComposer18.3.018. okt. 2026guzzle/guzzle
hononpm14.13.1317. okt. 2026honojs/hono
http-cache-semanticsnpm1Ingen rettet version4. okt. 2026kornelski/http-cache-semantics
ip-addressnpm110.7.421. okt. 2026beaugunderson/ip-address
joinpm118.3.016. okt. 2026hapijs/joi
launch-editornpm12.14.26. okt. 2026vitejs/launch-editor
lodashnpm14.18.111. sep. 2026lodash/lodash
mcpPyPI12.3.017. okt. 2026modelcontextprotocol/python-sdk
mysql-connector-pythonPyPI126.7.010. jul. 2026mysql/mysql-connector-python
node-forgenpm1Ingen rettet version25. sep. 2026digitalbazaar/forge
phpcsstandards/phpcsutilsComposer11.2.321. okt. 2026PHPCSStandards/PHPCSUtils
phpunit/phpunitComposer113.4.321. okt. 2026sebastianbergmann/phpunit
picomatchnpm14.0.727. aug. 2026micromatch/picomatch
playwrightnpm11.64.122. okt. 2026microsoft/playwright
prosemirror-viewnpm11.42.621. okt. 2026code.haverbeke.berlin/prosemirror/prosemirror-view
react-server-dom-webpacknpm119.3.121. okt. 2026react/react
serialize-javascriptnpm17.1.223. sep. 2026yahoo/serialize-javascript
smol-tomlnpm11.9.110. okt. 2026squirrelchat/smol-toml
source-map-jsnpm11.2.230. sep. 20267rulnik/source-map-js
squizlabs/php_codesnifferComposer14.0.421. aug. 2026PHPCSStandards/PHP_CodeSniffer
symfony/mimeComposer18.1.721. okt. 2026symfony/mime
turbo-streamnpm13.2.119. aug. 2026jacob-ebey/turbo-stream
webpack-dev-middlewarenpm18.5.021. okt. 2026webpack/webpack-dev-middleware
wp-coding-standards/wpcsComposer13.4.122. okt. 2026WordPress/WordPress-Coding-Standards
wranglernpm14.151.321. okt. 2026cloudflare/workers-sdk

Hvad du skal gøre i dag

  1. Opdater PHP til 8.5.12, 8.4.27, 8.3.36 eller 8.2.35 for at lukke PHP2Shell-sårbarhederne.
  2. Fjern litellm 1.107.0, hvis den er installeret, og skift til version 1.106.2.
  3. 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.
  4. Blokér trafik til litellm.dev, hvis adressen optræder i logs.
  5. Kør revisionsværktøjet for dit økosystem: npm audit, composer audit eller pip-audit. De bygger på de samme typer advisory-databaser som denne side.
  6. Opdater lockfilen, ikke kun dine direkte afhængigheder. De fleste huller sidder i indirekte pakker.
  7. 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).

Fri brug med kildeangivelse

Siden opdateres hver dag med nye fund og nyheder.

Du må gerne bruge tal og grafik med kildeangivelse og link hertil. Overbliksgrafikken som SVG: sikkerhedsoverblik-2026-10-22.svg

Vil du have din egen stak gennemgået, så du ved præcis hvad der skal opdateres, og i hvilken rækkefølge?