Craft-Update: 94 Advisories auflösen und composer audit wieder scharf stellen #76

Open
opened 2026-09-06 22:23:16 +00:00 by Phil · 0 comments
Owner

Aus #57 herausgefallen, eigener Scope.

Lage

composer audit meldet 94 Advisories auf 6 Paketen:

Paket Advisories davon kritisch/hoch
craftcms/cms 5.8.19 72 3 kritisch, 26 hoch
twig/twig v3.15.0 16 1 kritisch, 4 hoch
webonyx/graphql-php v14.11.10 3 2 hoch
yiisoft/yii2 2.0.52 1 1 hoch
psy/psysh v0.12.8 1 —
web-auth/webauthn-lib 4.9.3 1 —

Das ist Bestand, nicht neu. Der Blitz-Install in #75 hat kein Paket heruntergestuft — Versionsvergleich composer.lock vorher/nachher belegt: craftcms/cms und twig/twig unverändert, web-auth/webauthn-lib sogar von 4.9.2 auf 4.9.3 hochgezogen. Der Anstieg von 54 auf 94 kommt aus der gewachsenen Advisory-Datenbank für dieselben Versionen.

Warum es jetzt weh tut

Seit #75 steht config.audit.block-insecure: false in composer.json. Ohne diese Einstellung blockiert Composer 2.8+ jede Dependency-Resolution — auch ein simples composer install der bereits gepinnten Versionen — sobald irgendein Package im Baum eine Advisory hat. Das Projekt wäre sonst für jedes künftige composer require dicht.

Die Einstellung ist damit ein bewusst akzeptierter Bestand, aber kein sauberer Zustand: sie schaltet die Prüfung ab, statt die Ursache zu beheben.

Der eigentliche Fix

Craft auf eine Version aktualisieren, die den Advisory-Bestand auflöst, und die Kern-Abhängigkeiten (Twig, GraphQL, Yii) mitziehen. Danach block-insecure wieder entfernen, damit die Prüfung greift.

Zu klären beim Update:

  • Plugin-Kompatibilität — CKEditor, ether/seo, super-table, matrix-extended, field-manager, cloner, smith, uielementfields, nystudio107-Familie, webpme, stimmt/craft-mcp und neu Blitz 5.12
  • Breaking Changes zwischen 5.8.19 und der Zielversion
  • Migrationen auf Production, mit DB-Backup nach docs/DEPLOYMENT.md

Akzeptanzkriterien

  • composer audit meldet keine kritischen und keine hohen Advisories mehr
  • config.audit.block-insecure ist aus composer.json entfernt, composer install läuft trotzdem durch
  • Alle Plugins laden, Control Panel und Frontend funktionieren in beiden Sprachen
  • Blitz cached weiterhin korrekt, keine Sprachvermischung
  • Verbleibende Advisories sind einzeln bewertet und dokumentiert, nicht pauschal stummgeschaltet
Aus #57 herausgefallen, eigener Scope. ## Lage `composer audit` meldet **94 Advisories auf 6 Paketen**: | Paket | Advisories | davon kritisch/hoch | |---|---|---| | `craftcms/cms` 5.8.19 | 72 | 3 kritisch, 26 hoch | | `twig/twig` v3.15.0 | 16 | 1 kritisch, 4 hoch | | `webonyx/graphql-php` v14.11.10 | 3 | 2 hoch | | `yiisoft/yii2` 2.0.52 | 1 | 1 hoch | | `psy/psysh` v0.12.8 | 1 | — | | `web-auth/webauthn-lib` 4.9.3 | 1 | — | Das ist **Bestand, nicht neu**. Der Blitz-Install in #75 hat kein Paket heruntergestuft — Versionsvergleich `composer.lock` vorher/nachher belegt: `craftcms/cms` und `twig/twig` unverändert, `web-auth/webauthn-lib` sogar von 4.9.2 auf 4.9.3 hochgezogen. Der Anstieg von 54 auf 94 kommt aus der gewachsenen Advisory-Datenbank für dieselben Versionen. ## Warum es jetzt weh tut Seit #75 steht `config.audit.block-insecure: false` in `composer.json`. Ohne diese Einstellung blockiert Composer 2.8+ **jede** Dependency-Resolution — auch ein simples `composer install` der bereits gepinnten Versionen — sobald irgendein Package im Baum eine Advisory hat. Das Projekt wäre sonst für jedes künftige `composer require` dicht. Die Einstellung ist damit ein bewusst akzeptierter Bestand, aber kein sauberer Zustand: sie schaltet die Prüfung ab, statt die Ursache zu beheben. ## Der eigentliche Fix Craft auf eine Version aktualisieren, die den Advisory-Bestand auflöst, und die Kern-Abhängigkeiten (Twig, GraphQL, Yii) mitziehen. Danach `block-insecure` wieder entfernen, damit die Prüfung greift. Zu klären beim Update: - Plugin-Kompatibilität — CKEditor, ether/seo, super-table, matrix-extended, field-manager, cloner, smith, uielementfields, nystudio107-Familie, webpme, stimmt/craft-mcp und neu Blitz 5.12 - Breaking Changes zwischen 5.8.19 und der Zielversion - Migrationen auf Production, mit DB-Backup nach `docs/DEPLOYMENT.md` ## Akzeptanzkriterien - [ ] `composer audit` meldet keine kritischen und keine hohen Advisories mehr - [ ] `config.audit.block-insecure` ist aus `composer.json` entfernt, `composer install` läuft trotzdem durch - [ ] Alle Plugins laden, Control Panel und Frontend funktionieren in beiden Sprachen - [ ] Blitz cached weiterhin korrekt, keine Sprachvermischung - [ ] Verbleibende Advisories sind einzeln bewertet und dokumentiert, nicht pauschal stummgeschaltet
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Phil/philflow.io#76
No description provided.