TYPO3 Release 13.4.23
In der Reihe TYPO3 Release-Notizen beleuchten wir regelmäßig die wichtigsten Bug-Fixes/Security-Issues oder wichtigen Änderungen in einem neuen Patchlevel-Release. Diese Releases sind gemäß Roadmap bereits terminiert und erscheinen grob einmal im Monat.
Bugs haben je nach Projekt unterschiedliche Auswirkungen. Was in einem Projekt kritisch ist, kann in einem anderen kaum eine Rolle spielen. Unsere Gewichtung ist daher subjektiv und soll die Relevanz anderer Fixes nicht herabspielen.
Aktuelles Release
Das aktuelle Release ist ein Sicherheits-Release. Die Security-Advisories betreffen alle das Auslesen/Ausspähen/Verändern von Daten, auf die ein Backend-User keinen Zugriff haben sollte.
Ein gültiger Backend-Benutzer-Account ist Voraussetzung für die Ausnutzung dieser Lücken, das heißt Instanzen die mit nicht absolut vertrauenswürdigen Redakteuren arbeiten müssen dringend ein Update einspielen (auch vorige ELTS-Versionen sind betroffen).
Weitere relevante Änderungen sind eine Absicherung gegen versehentliche Passwort-Leaks in Stacktrace-Fehlermeldungen im Debugging-Kontext, ein Update der ISO-Country-Datenbank, Timeout-Definition für "exec()" Shell-Befehle, weitere PHP 8.5 Kompatibilität und einige Fixes in EXT:adminpanel.
Wichtig: Es gibt ein bekanntes Problem mit dem Sicherheitspatch vom Mail FilerSpooler (Regression). Dieser kann komplexere MIME-Strukturen in E-Mails (attachments, eingebundene Dateien, abstractParts) potentiell fälschlicherweise blockieren, wodurch die E-Mail dann nicht versendet wird. Ein Bugfix hierfür ist in Vorbereitung für ein Release am 20.01.2026, siehe https://review.typo3.org/c/Packages/TYPO3.CMS/+/92329. Standardmäßig nutzt TYPO3 den FileSpooler nicht, sondern Versand über SMTP bzw. lokales PHP / sendmail.
Insgesamt gab es 50 Änderungen.
Sicherheit
- Sehr wichtigAdvisory https://typo3.org/security/advisory/typo3-core-sa-2026-001 - Das Erstellen von neuen FormEngine Datensätzen ermöglichte auch "default values" (TCEFORM.xxx) zu spezifizieren und persistieren, unabhängig davon ob Rechte für diese Felder auch wirklich existieren. Damit konnten potentiell nicht erwünschte Datensatzinhalte hinterlegt werden. Nun ist ein Rechte-Check vorgeschaltet, der diese Standardwerte nur annimmt wenn die passenden Rechte existieren.
- Sehr wichtigAdvisory https://typo3.org/security/advisory/typo3-core-sa-2026-002 - sys_redirect Datensätze konnten Ressourcen auf dem Webserver für Backend-Benutzer mit Zugriff auf das Redirects-Modul zugänglich machen, für die womöglich keine Zugriffsrechte existierten, also auch beliebige Daten eingespielt und ausgespielt werden (z.B. Datei/Web-Mounts).
- Sehr wichtigAdvisory https://typo3.org/security/advisory/typo3-core-sa-2026-003 - Backend-Benutzer auf Instanzen mit EXT:recycler konnten beliebige Datensätze unter Umgehung des Papierkorbs vollständig löschen (nicht nur "deleted=1" setzen, sondern dauerhaft entfernen)
- WissenswertAdvisory https://typo3.org/security/advisory/typo3-core-sa-2026-004 - Falls E-Mails mit dem "FileSpool" Transport versendet wurden (nicht der Standard-Fall), konnten dessen serialisierte E-Maildaten potentiell Schadcode enthalten (der jedoch Dateizugriff auf dem Server benötigt), der durch Deserialisierung ausgeführt werden konnte.
- Datenbank-Zugangsdaten in Fehlermeldungs-Stacktraces werden nun mit PHP-interner Maskierung vor versehentlicher Ausgabe weiter gesichert
Regression-Bugfixes
Site Settings / Site Sets
API (Frontend / Extbase)
- WissenswertSprachlabels können nun via TCEFORM TypoScript altLabels überschrieben werden auch wenn sie sonst leer wären
- Das Datenbankfeld "pages.php_tree_stop" wird beeinflusst nun im Frontend nicht mehr das Auslesen von Unterseiten (es ist nur für den Backend-Seitenbaum relevant)
- Der CountrySelectViewHelper kann nun bei Ausgaben im Frontend ein "data-prioritized" Attribut mit ausgeben, falls priorisierte Countries im Select-Dropdown enthalten sind. Damit kann per JS/CSS eine Hervorhebung gesteuert werden falls gewünscht.
EXT:adminpanel
- Die Fluid-Debug-Option im Adminpanel wird nun korrekt per TSConfig ausgewertet
- Das kompilierte CSS vom Adminpanel enthält nun keine ungültigen CSS-Selektoren mehr
- Vermeidung eines Fehler im Adminpanel falls BE_USER nicht gesetzt ist
Content Security Policy (CSP)
Backend: UI
- Extension-Settings werden nun "natürlich" korrekt sortiert: "a1, a2, ... a10, a11" und nicht "a10, a11, a1, a2, ..."
- Die Backend-Livesuche zeigt nun beim Nachladen weiterer Datensätze nicht mehr kurzzeitig die veraltete Blätterfunktion
API: Backend
- WissenswertEingebettete Anker (a-Tags) in SVG-Dateien des Login-Logos werden korrekt entfernt (sanitize)
- Vermeidung eines PHP-Fehlers für eine leere Variable in Randfällen bei `DataHandler->updateDB`
- Vermeidung einer PHP-Exception wenn im "bin/typo3 install:setup" Intallationsprozess ein leerer Webserver-Typ ausgewählt wird
- Das Globus-Icon für "is_siteroot" wird in der Datensatzliste nun korrekt ausgelesen und dargestellt
PHP-Typfehler
- Vermeidung einer PHP 8.5-Deprecationmeldung beim Anlegen neuer Datensätze auf Root-Ebene
- Vermeidung einer PHP 8.5-Deprecationmeldung Im DependencyOrderingService
- Verbesserte phpDoc Typ-Deklaration von HashScope
- Vermeidung mehrerer PHP 8.5-Deprecationmeldung bei "unset" mit typisierten Variablen, sowie Anpassung einiger phpDoc und interner Typdeklarationen
- Vorbereitung für Symfony 8 Kompatibilität mit PHP Return-Type Deklarationen von ConsoleCommand "configure" Methoden
- Vorbereitung für Symfony 8 Kompatibilität mit PHP Return-Type Deklarationen in Dependency Injection "process" Methoden
- Vorbereitung für Symfony 8 Kompatibilität durch Nutzung von "addCommands()" statt der "add()" Methode
Backend: FormEngine
Backend: Extension Manager
Dependencies
Dokumentation
- Der neue "watchRst" Live-Rendering runTests Befehl wurde leicht restrukturiert und Beispiel-Aufrufe eingefügt
- Anpassung der Klassenbeschreibung des SanitizeFileNameEvent (copy+paste Irrtum)
- Umbenennung der internen Variable $hash" in "$hashAlgorithm" für bessere Verständlichkeit in einigen Stellen der "ResourceStorage" API-Klasse.
- Copyright-Jahr 2026 wurde gesetzt
