Skip to content

[Hoch] Sicherheits-Updates: Twig (kritisch) + Symfony-Patches#532

Open
maltehuebner wants to merge 1 commit into
mainfrom
chore/security-dependency-updates
Open

[Hoch] Sicherheits-Updates: Twig (kritisch) + Symfony-Patches#532
maltehuebner wants to merge 1 commit into
mainfrom
chore/security-dependency-updates

Conversation

@maltehuebner

Copy link
Copy Markdown
Contributor

Adressiert #525 (composer-Teil; npm/Rest siehe unten).

Was wird behoben

Alle kritischen und hohen composer-Advisories aus #525:

Paket Update CVE(s)
twig/twig 3.23.0 → 3.27.1 CVE-2026-46633 (kritisch, PHP-Code-Injection via {% use %}), CVE-2026-46640 (hoch, RCE via _self), CVE-2026-24425/-47732, …
symfony/monolog-bridge 7.4.4 → 7.4.12 CVE-2026-45077 (hoch, unauth. PHP-Object-Deserialization)
symfony/http-kernel 7.4.4 → 7.4.13 CVE-2026-45075 (HEAD-Bypass #[IsGranted])

composer audit danach: 0 kritische, 0 hohe Advisories (vorher 27 Advisories).

Warum nicht alle Symfony-Pakete?

Ein composer update "symfony/*" zieht die Komponenten auf 8.1.0. Damit meldet PHPStan 1.12.33 flächig unknown class Symfony\Component\HttpFoundation\Request/Response (87 Fehler) — die Analyse bricht, CI würde rot. PHPStan ^2.0 (das 8.1 versteht) ist hier durch rector/rector (verlangt phpstan ^1.12.5) blockiert. Laufzeit ist nicht betroffen (Tests/Container-Lint grün), aber CI schon.

Deshalb bleiben die Symfony-Komponenten bewusst auf 8.0.x/7.4.x; nur Patch-/Twig-Updates, die PHPStan unverändert grün lassen.

Verifikation

  • composer audit → keine kritischen/hohen Advisories mehr
  • vendor/bin/phpstan analyse[OK] No errors (unverändert)
  • bin/console lint:container (test) → ok
  • Unit-Suite → 121 Tests grün
  • Nur composer.lock geändert

Verbleibend (separate Folge-Issues empfohlen)

  • Symfony 8.1 + PHPStan ^2.0 + rector-Update als gemeinsames Vorhaben, um die restlichen mittel/niedrig-CVEs zu schließen (cache, http-foundation, routing, yaml, runtime, dom-crawler, web-profiler-bundle).
  • npm: npm audit fix senkt 17 → 6 Schwachstellen (Rest nur via --force/breaking). Benötigt Node ≥ 14 — die lokale Umgebung läuft auf Node 12 (EOL), wo der Webpack-Build bereits unabhängig von diesem PR fehlschlägt (Unexpected token '?'). Node-Upgrade vorab nötig; daher hier nicht gebündelt.

🤖 Generated with Claude Code

Beseitigt alle kritischen und hohen composer-Advisories ohne den Symfony-8.1-
Sprung (der mit phpstan 1.12.33 — via rector gepinnt — bricht: HttpFoundation\
Request/Response werden dann als "unknown class" gemeldet, CI rot).

- twig/twig 3.23.0 => 3.27.1
  - CVE-2026-46633 (KRITISCH: PHP-Code-Injection via {% use %})
  - CVE-2026-46640 (HOCH: RCE via _self-Makro), CVE-2026-24425/-47732 u. a.
- symfony/monolog-bridge 7.4.4 => 7.4.12
  - CVE-2026-45077 (HOCH: unauth. PHP-Object-Deserialization im server:log-Listener)
- symfony/http-kernel 7.4.4 => 7.4.13
  - CVE-2026-45075 (HEAD-Bypass in #[IsGranted])

Verifiziert: composer audit ohne kritische/hohe Advisories, PHPStan ohne neue
Fehler, lint:container ok, Unit-Suite grün (121 Tests). Nur composer.lock geändert
(Symfony-Komponenten bleiben bewusst auf 8.0.x/7.4.x).

Verbleibend (separat, Mittel/Niedrig): cache/http-foundation/routing/yaml/runtime/
dom-crawler/web-profiler-bundle — erfordern Symfony 8.1 und damit phpstan ^2.0
(+ rector-Update). npm: `npm audit fix` senkt 17 -> 6, benötigt aber Node >=14
(lokal Node 12 EOL, Build dort bereits unabhängig defekt).

Refs #525

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.

1 participant