Suche
156 Treffer
TYPO3 Version 12.4.37
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. Das aktuelle Release hat vor allem kritische Sicherheits-Fixes, siehe auch Security Advisories: https://typo3.org/help/security-advisories Abseits davon gab es in den 22 Änderungen und eher kleinere Bugfixes sowie PHP 8.5 Kompatibilität. Sicherheit Sehr wichtig (13.4.17) Einbindung der neuen Version von "enshrined/svg-sanitize", die Sicherheits-Fixes enthält für die Einbindung von Inline-SVG-Grafiken mit JavaScript-Code. Diese konnte entstehen bei Tags in SVG-Dateien mit unterschiedlicher Groß/kleinschreibung von XML-Attributen. Es kommt nur zum Tragen, wenn ein Projekt keine CSP-Regeln für Inline-JavaScript-Verbote definiert und dennoch SVG-Grafiken inline (!) in HTML eingebettet sind. Links auf SVGs als Grafik-Datei sind nicht betroffen. Wissenswert TYPO3-CORE-SA-2025-017: Open Redirect in TYPO3 CMS: Bei Nutzung der Methode `GeneralUtility::sanitizeLocalUrl` war es möglich dass URLs, die an diese Methode übertragen wurden, nach der Verarbeitung eine Weiterleitung auf bösartige URLs durchführen konnte. TYPO3-CORE-SA-2025-018: Denial of Service in TYPO3 Bookmark Toolbar: Durch Admin-Aktionen im TYPO3-Backend könnten Bookmarks für andere User fehlerhaft gespeichert werden und dadurch das System für den Eigentümer desLesezeichens unnutzbar machen, bis diese Bookmarks durch Administratoren wieder gelöscht wurden. TYPO3-CORE-SA-2025-019: Insufficient Entropy in Password Generation: Die Erzeugung von Passwörtern mit der TYPO3-Crypto-API kann unter gewissen Regel-Umständen eine geringere Entropie als gewünscht besitzen. Das bedeutet, dass ein neu erstelltes (!) Passwort leichter zu raten sein könnte als vorgesehen. TYPO3-CORE-SA-2025-020: Information Disclosure via File Abstraction Layer: Einige Datei-Operationen (Upload, Umbenennung) in der Datei-Liste kann bei gewissen manipulierten Dateinamen dafür sorgen dass Pfad-Informationen des TYPO3-Backends "verraten" werden (Redakteursaccount notwendig). Sehr wichtig TYPO3-CORE-SA-2025-021: Broken Access Control in Backend AJAX Routes: Admin-Aktionen im Backend konnten aufgerufen werden, wenn man deren URLs und Parameter kannte. Hierdurch konnten ggf. Daten ausgelesen oder manipuliert werden. Hierfür war dennoch ein TYPO3-Backendzugang notwendig. TYPO3-Core-Module nutzen ein neues Attribut "inheritAccessFromModule", welche auch für eigene Backend-Extensions für korrekte Rechte-Checks nun genutzt werden sollte. Sehr wichtig TYPO3-CORE-SA-2025-022: Information Disclosure in Workspaces Module: Bei Nutzung der Workspace-Extension kann das Workspace-Modul über die Sicherheitslücke der defekten Acess Control via AJAX dazu genutzt werden um beliebige Inhalte in den Datenbanktabellen auszulesen. Hierfür war ein Backend-Redakteurszugang notwendig. Sehr wichtig TYPO3-CORE-SA-2025-023: Information Disclosure via CSV Download: Bei Nutzung des CSV-Datensatzdownload-Features können die Datenbankspalten (nicht Inhalte) von Tabellen ohne Zugriffsrechte ausgelesen werden. Hierfür war ein Backend-Redakteurszugang notwendig. Content Security Policy (CSP) Bei Nutzung der SourceKeyword::strictDynamic CSP-API Anpassung konnte es vorkommen, dass Regeln hierfür nicht korrekt angewendet wurden (nur wenn man manuell ein 'purge' vorher ausgelöst hatte). Backend: UI Das Parsing der Zeichentrenner für das "TextTableElement" wurde verbessert um beim erstmaligen Speichern eines solchen Objekts keine fehlerhaften Tabellendaten im GUI auszugeben. Backend: API Wissenswert Beim Upload von Dateireferenzen in einem neuen Objekt was noch nie gespeichert wurde, konnten diese Referenzen auf PID=0 gespeichert werden, wonach diese nur noch von Administratoren gelöscht werden konnten. Nun werden die Referenzen korrekt der PID des angelegten Objekts (z.b. einer Seite) zugeordnet. PHP-Typfehler Vermeidung von Exceptions falls die URL-Variablen type/cHash/__RequestToken als arrays übertragen werden Strukturelles Wissenswert Für PHP 8.5 Kompatibilität werden für die Nutzung der "SplObjectStorage" Methoden nicht mehr die alten Namen (contains / attach / detach) genutzt, sondern die nun bevorzugten Namen (offsetExists / offsetSet / offsetUnset) Dependencies Update der phpunit Abhängigkeiten für PHP 8.5.0-Support
WeiterlesenTYPO3 Version 12.4.38
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. Das aktuelle Release ist ein Maintenance-Release. Die "Zurück"-Funktion für einige Backend-Links (z.B. der Modulwechsel mittels returnUrl) funktioniert nun wieder. Der MIME-Typ-Integritätscheck bei Datei-Uploads in Extbase sowie erlaubte Dateitypen im Backend wurden verbessert. Insgesamt gab es 22 Änderungen . Regression-Bugfixes Wissenswert Die neue Sicherungsmethode für GeneralUtility::sanitizeLocalurl (im letzten Security-Patch) wurde angepasst um keine Fehler zu erzeugen, wenn man von gewissen Backend-Modulen zurück in das vorige Modul wechselt. Backend: UI Bugfix für ungültiges HTML-Tag der "typo3-formengine-valueslider" Komponente Backend: API Wissenswert Die Liste von erlaubten "Text"-Feldern ("textfile_ext", "miscfile_ext") wurde ergänzt für typische Dateinamen, um Upload im Backend zu ermöglichen. Wissenswert Beim Upload von Dateien im Extbase und EXT:form Kontext wird der "MIME-Type Integrity Check" nun so ausgeführt, dass die jeweilige Anwendung die "Hoheit" über die Fehlerausgabe (anstelle von Exceptions) besitzen kann. Wissenswert Die API von "TYPO3\CMS\Core\Type\Map" kann nun auch mit Skalaren/Objekten in Array-Keys korrekt umgehen, und nutzt nun intern kein SplObjectStorage mehr. Für Konsumenten der API sollte dies keine (negative) Auswirkung haben. PHP-Typfehler Vermeidung eines Typ-Fehlers beim Speichern eines Backenduser-Profils ohne "realName" Vermeidung von "$array[null]" Zugriff zugunsten von "$array['']" für PHP 8.5 Kompatibilität
WeiterlesenTYPO3 Version 12.4.41
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. 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 und ein Update der ISO-Country-Datenbank . 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 14 Änderungen . Sicherheit Sehr wichtig Advisory 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 wichtig Advisory 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 wichtig Advisory 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) Wissenswert Advisory 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 Dependencies Update der ISO-Datenbank für Ländernamen Dokumentation Der neue "watchRst" Live-Rendering runTests Befehl wurde leicht restrukturiert und Beispiel-Aufrufe eingefügt Copyright-Jahr 2026 wurde gesetzt
WeiterlesenTYPO3 Version 12.4.42
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. Das aktuelle Release behebt vor allem zwei Regression Bugs nach dem letzten Security Release: Das korrekte Auslesen von Typolink-Zielen für Redirects und ein wichtiger Fix für FileSpool Mailer , damit dort Mails mit Attachments wieder korrekt verarbeitet werden können und bei Fehlern keine gespoolten Mails gelöscht werden. Insgesamt gab es 6 Änderungen . Regression-Bugfixes Wissenswert Ein Bug im Security-Fix für den datei-basierten Spooler (FileSpool) konnte dazu führen, dass Nachrichten mit Attachments nicht zugestellt werden, und auch nicht erneut versendet würden. Wissenswert Das Parsing von Typolinks als Redirect-Ziele für schützenswerte Inhalte wurde korrigiert.
WeiterlesenTYPO3 Version 12.4.39
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. Das aktuelle Release ist ein Maintenance-Release. Dies bereitet PHP 8.5 Kompatibilität weiter vor (z.B. auch Symfony-Dependency-Updates) sowie kleinere Bugfixes. Insgesamt gab es 18 Änderungen . Regression-Bugfixes Falls im Extension-Manager Extensions aktiviert werden sollen, die nicht alle Abhängigkeiten erfüllen, wird die Fehlermeldung davon nun wieder korrekt ausgewertet und dargestellt Backend: UI (Accessibility-Sprint): Kontextmenü-Positionierung korrigiert, wenn dies via Tastatur ausgelöst wurde Entfernung einer doppelten CSS-Klassenauszeichnung des Linkbrowser-Modals für "Link entfernen" Backend: API Die MFA-RecoveryCodes nutzen nun einen 63-bit statt 64-bit Wert um dne PHP-Beschränkungen korrekt umzugehen Sicherstellung, dass die OutputCompression Middleware nur einmalig aktiv wird auch bei Request-Bubbling PHP-Typfehler Anpassung für PHP 8.5. Kompatibilität (Aufruf von "ord()") Anpassung für PHP 8.5. Kompatibilität (Aufruf von "null als Array-Offset") Anpassung für PHP 8.5. Kompatibilität (Überarbeitete float-Auswertung für "MathUtility::canBeInterpretedAsInteger") Anpassung für PHP 8.5. Kompatibilität (weitere Überarbeitung von "MathUtility::canBeInterpretedAsInteger") Anpassung für PHP 8.5. Kompatibilität (Indexed Search Lexer, boolean Zugriff als Array) Backend: CKEditor Durch den CSS-Autoprefixer für das RTE-CSS angepasste Links können etwaige "#" (location-Hash) Parameter nun beibehalten, ohne dass sie fälschlicherweise entfernt werden (z.B. für CSS-Sprites) Dependencies Updates von mehreren Dependencies (Symfony und weitere) Update von phpdocumentor/reflection-docblock für PHP 8.5 Kompatibilität
WeiterlesenTYPO3 Version 12.4.40
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. Das aktuelle Release ist ein Maintenance-Release, welches vorrangig ein Symfony 7.4 Dependency-Injection Kompatibilitätsproblem behebt. Insgesamt gab es 18 Änderungen . Regression-Bugfixes Sehr wichtig Frische Composer-Installationen (oder Upgrades) scheitern nun nicht mehr an der Symfony 7.4 Dependency-Injection-Änderung, die bei nicht Nutzung nicht vorhandener PHP Interface-Klassen Fehler geworfen hat. Die Zugriffsrechte auf das Workspace-Vorschaumodul erlaubten den Zugriff nur, wenn auch genereller Zugriff auf das Workspace-Modul existierte. Diese Rechte werden nun stattdessen individuell ausgewertet, so dass auch ohne Workspace-Modulzugriff eine Vorschau ausgelöst werden kann. Backend: UI Das Info-Popup für den Link zu einer Seite vom Typ "Externe URL" zeigt nun den Link abhängig von der gewählten Sprachversion Darstellung eines TYPO3 Trademark-Links in Login und About-Bereich Kürzung des Copyright/Lizenz-Hinweis auf der Login-Seite API: Backend Das neue Sicherheits-Attribut `AsAllowedCallable` für `userFunc` TypoScript-Aufrufe kann für bessere künftige Kompatibilität in Erweiterungen auch schon in v12 und v13 eingesetzt werden - es ist dort dann jedoch noch funktionslos. PHP-Typfehler PHP 8.5 Typfehler (Array-Key mit NULL) Dependencies Update der symfony/* Komponenten Update von NPM dependencies Update von NPM dependencies
WeiterlesenTYPO3 Version 12.4.43
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. Das aktuelle Release ist ein weiteres kleines Maintenance-Release, das vor allem ein Problem mit der Paketabhängigkeit “firebase/php-jwt” behebt, durch das eine “composer install” Projektinstallation mit modernen Composer-Versionen leider sonst mit älteren TYPO3-Versionen fehlschlägt. Insgesamt gab es 20 Änderungen . API: Backend ImageMagick7 wirft keine Fehler mehr für Nutzung von "+matte" Wenn ImageMagick/GraphicsMagick ein Fallback-Dateiformat nutzt (z.b. für AVIF-Schreibaktionen) wird dies in der Backend-Bildprüfung nun dargestellt Backend: CKEditor Die Nutzung von Ersetzungen via regulärer Ausdrücke mit Pattern-Matching und Null-Werten via YAML-Konfiguration funktioniert nun ohne Fehlermeldungen Dependencies Wissenswert Die als unsicher markierte firebase/php-jwt Bibliothek wird nun in Version 7.0 eingebunden (Version 6 ist ebenfalls zulässig) um Composer-basierte Projektinstanzen nicht in der Installation zu blockieren. Wichtig zu wissen: Die Sicherheitslücke in Version 6 betrifft TYPO3 nicht, daher ist dies kein sicherheitskritische Update. Initiales Update von firebase/php-jwt
WeiterlesenTYPO3 Version 12.4.44
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. Das aktuelle Release ist ein weiteres kleines Maintenance-Release das einen Security-Backport von CKEditor v5 zur Verarbeitung von ifames mit JavaScript (Randfall) enthält. Insgesamt gab es 10 Änderungen . Backend: CKEditor Die Nutzung von Ersetzungen via regulärer Ausdrücke mit Pattern-Matching und Null-Werten via YAML-Konfiguration funktioniert nun ohne Fehlermeldungen Backport von Security-Bugfixes für CKEditor (iframes/JavaScript XSS, nur in Randfällen) Dokumentation Die Fehlermeldung bei MFA-Login-Sperrung gibt nun deutlicher an, dass das Entsperren eines Providers nicht temporär ist und Admin-Intervention erfordert.
WeiterlesenTYPO3 Version 14.3.6
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 Dieses Security-Release behebt ein Sicherheitsrisiko für zielgerichtete XHR/Fetch-Angriffe im Backend bei Nutzung etwaiger XSS-Vektoren, bei denen der ReferrerEnforcer umgangen werden konnte. Ansonsten enthält dieses Release einige Ergebnisse der TYPO3-DevDays Coding-Night - ein Ergebnis von viel Arbeit der Community. Herzlichen Dank an dieser Stelle: Es wurden “sticky Header" im Sprachvergleichsmodul eingebaut, die Zuordnung von “free mode”-Sprachinhalten korrigiert. Dark-Mode für Exceptions. Es gab Updates in Bezug auf Doctrine DBA L ( Kompatibilität zu MariaDB 11.7 und 11.8 , UCA Collations, Foreign Key Schema Migration, DBAL 4.4 Kompatibilität, JSON-Spalten ). Und Extbase-Objekte im Backend werden nun immer ohne “hidden/deleted”-Restriktionen ausgewertet und im Frontend werden im “strict”-Language-Modus nur noch übersetzte Datensätze ausgelesen . Fehlende FAL-Assets lösen keine Fehlerseiten im Frontend mehr aus. Der ExtensionManager im Classic-Mode wertet Dependencies wieder besser aus. Der Symfony Messenger wurde in Bezug auf Transport-Zuordnung optimiert. Die Live-Suche kann nun auch Bild(meta)-Daten finden. User TSConfig für User Settings funktioniert mit Overrides/Ausblenden wieder korrekt. EXT:form stellt die Reihenfolge von Optionen bei JSON-Speicherung (Datenbank) wie gewünscht sicher und Optionen mit “Punkt” im Namen werden korrekt ausgelesen. Zudem wurden einige kleinere Composer-Dependencies aktualisiert. Insgesamt gab es 125 Änderungen . Sicherheit Sehr wichtig Der `ReferrerEnforcer` zur Absicherung gegen lokale XHR/Fetch Angriffe (z.B. via XSS) kann nun die angepassten TYPO3-Einstiegspunkte (index.php anstelle früher `/typo3/` für das Backend korrekt auswerten, so dass Angriffe gegen die vollständige Domain dann nicht mehr möglich sind TCA / Schema API / Record API Wissenswert Die Schema API kann für type=group Datensätze die erlaubten Relationen direkt via `getAllowedSchemaNames` und `allowsAllSchemata` Methoden auflösen, und der RelationHandler wie auch DataHandler machen nun Gebrauch davon Verbesserung der "ActiveRelation" für MM-Relationen TCA Placeholder können mit pipe getrennte Notation nutzen um auf andere Datensätze zu referenzieren, die konnte unter gewissen Umständen jedoch das Wort "Array" erzeugen. Site Settings / Site Sets Die Site-Configuration nutzt nun als Sprach-Placeholder ein korrektes Locale als Beispiel EXT:form Wissenswert Die Reihenfolge von Optionen wird von EXT:form mittels JSON gespeichert. Bei Nutzung der Datenbank-Speicherung von Formularen wird hierfür der JSON-Datenbanktyp genutzt, bei dessen Implementierung die Reihenfolge jedoch verloren gehen kann. Diese wurde nun durch zusätzliche Konvertierung wieder sichergestellt. Wissenswert Ein eingeschränktes Set an HTML (via dompurify) kann nun in EXT:form labels genutzt werden um z.B. Beschreibungen mit Markup zu verbessern Wissenswert YAML-Eigenschaften mit Punkten im Key (z.b. E-Mail-Adressen) werden wieder korrekt als key ausgelesen anstelle zerhackstückelt zu werden. Für die "Summary Page" wird nun der Button zum Anlegen von inneren Inhalts-Elementen unterdrückt, da diese dort gar nicht platziert werden können. TypoScript Wissenswert User TSConfig für User Settings (override und Ausblenden von Feldern) wird nun wieder korrekt ausgewertet TCEFORM TypoScript Zuweisungen für `type`-spezifische Blöcke werden nun korrekt in der Label-Auswertung angewendet API (Frontend / Extbase) Sehr wichtig Extbase Objekte im Kontext "fallbackType: strict" erhalten nun keine nicht-übersetzten Datensätze. Siehe Changelog für Details! Wissenswert Wenn eine Unterseite eines TreeMounts in einer übersetzten Sprache aufgerufen wurde, konnte das URL-Routing im Rootline-Lookup fehlschlagen. Nun wird hierfür die Standardsprache zum korrekten Resolving genutzt. Wissenswert Bei Nutzung des MemorySpool Mailtransports wurden etwaige PHP-Fehlermeldungen die während des Mailversand auftraten ggf. nicht geloggt (nur sehr spezifische Fehlermeldungen bislang). Dies wird nun großflächiger sichergestellt. Wissenswert Die neuen Extbase QoM methoden für trim/coalesce/concat bei "ORDER BY" statements nutzen nun korrektes Quoting Fluid Wissenswert Das neue `contentArea` Objekt kann in Fluid nun auch gezählt werden (hilfreich bei Iteration) `f:image.srcset` kann nun auch eine direkte Extbase FileReference nutzen, und muss nicht erst zu `getOriginalResource` gewandelt werden Der `be:link.record` ViewHelper kann nun mit einem neuen Argument `contextual=1` direkte Bearbeitungslinks ausgeben, die im Context Panel geöffnet werden. EXT:adminpanel Debugging von Variablen die PHP Resourcen enthalten führen nun nicht mehr zu einer PHP Exception EXT:indexed_search Nutzung des korrekten ASC/DESC Sortierungs-Flags Content Security Policy (CSP) Die CSP-Basis-URI kann nun auch relative oder schema-lose URIs enthalten Backend: UI Sehr wichtig Exceptions im Dark-Mode werden nun auch im Dark-Mode ausgegeben. Nicht "sehr wichtig", aber "sehr schön". ;-) Wissenswert Die EXT:dashboard Widgets werden nun auch mit dem neuen Backend-Wizard (technisch im Hintergrund) erzeugt und folgen damit dem neuen UI Wissenswert Übersetzte "typolink" Datensätze (doktype=3) nutzen nun das Linkziel des übersetzten Datensatzes, nicht der Originalsprache zur Erzeugung von Links Wissenswert Der Sprachvergleich für "FreeMode"-Sprachen stellt diese nun nicht mehr falsch geclustert dar, sondern ordnet sie einer einzelnen Zeile zu. Nur für Fälle wo alle ausgewählten Sprachen im FreeMode erscheinen werden diese mit Pseudo-Zuordnung nebeneinander gezeigt. Dies war vorher komplett kaputt. Der Kontrast von "Placeholder"-Inputinhalten wurde verbessert (WCAG) Korrekte Benennung des "Records"-Moduls (Überbleibsel "List" entfernt) Die Clipboard-Buttons für Copy+Paste werden nur noch angezeigt wenn sie auch wirklich nutzbar sind Vermeidung von CSS-Fehlpositionierung in Modal-Popups mit "fixed positionining" Die Benutzername/Passwort-Kombinationen die man alternativ (!) mit einem "url" String definieren konnte werden nun auch maskiert bei deren Anzeige im Install-Tool Verbessertes Element-Fokus-Verhalten für den neuen "Neue Seiten"-Wizard Versteckte aber erforderliche Pflichtfelder im "Neue Seiten"-Wizard werden nun dargestellt Das "aria-hidden" Handling von Icons in der Backend-Topleiste wurde verbessert und führt in Firefox nicht mehr zu Dopplungen (für Screenreader) Der das modale "Record Browser" Popup hat nun seinen eigenen Sprachkontext, so dass nicht plötzlich Einstellungen des "Content > Record" Moduls angewendet werden Der EnvironmentController im Install-Tool nutzt nun ein korrektes graphicsMagick Statement zur Erzeugung von Test-Bildern mit Transparentem Hintergrund, ohne ein falsches Ergebnis anzuzeigen. Die Darstellung eines Fortschrittbalkens im Dateiupload überlagert nun nicht mehr den Modal-Titel Das Camino-Backend-Preview zeigt die Call-to-Action Links mit Icon korrekt an Die Navigation im Sprachvergleichs-Backend ist nun "sticky" und scrollt nicht mit, damit sie stets im Blick bleibt Die Sprache einer einzelnen Spalte im Sprachvergleichs-Backend bleibt nun beim scrollen "Sticky" so dass eine Zuordnung der Sprache immer leicht möglich ist. Die Erzeugung von Frontend-Vorschaulinks aktuell nicht freigeschalteter Seiten zeigt nun auch Seiten an, die nicht innerhalb der exakten Systemzeit-Sekunden freigeschaltet wird, sondern innerhalb der selben Minute. Schwer zu erklären, aber es sorgt dafür dass auch in Randfällen Seiten nun im Frontend dargestellt werden können, die zur selben Minute freigeschaltet gehören. CSS-Klassen für generische Buttons in der Dateilisten-Aktionsbar werden nun korrekt übertragen Die Breadcrumb-Nodes in Backend-Modulen können nun bei Modulen, die Parameter übertragen die Links korrekt erkennen und auswerten, so dass ein Klick auf solche Links nicht mehr zu Fehlern führt Backend: API / Core Sehr wichtig MariaDB 11.7 und 11.8 wurden in die TYPO3-Testmatrix eingefügt und Testfehler behoben. Auch für die PostgreSQL-Plattform gab es eine kleinere Anpassung. Somit können TYPO3 v13+v14 mit diesen Versionen potentiell genutzt werden. Fehler gerne berichten! Sehr wichtig Extbase-Objekte im Backend (!) werden nun immer ohne Anwendung von enablefields-Restriktionen ausgeliefert (also auch hidden und nicht veröffentlichte Datensätze starttime/endtime), so wie es das TYPO3-Backend auch mit Datensätzen tut. Hierzu wird der TYPO3-Request-Kontext für das Backend ausgewertet. Wenn plötzlich Datensätze angezeigt oder ausgewertet werden, die im Backend vorher nicht erschienen (z.b. eigene Module) dann müssen hier eigene Restrictions gezielt angewendet werden. Sehr wichtig Das Backend-Preview konnte in gewissen Umständen im Sanitizing von h1-6 und a Tags XSS nicht unterbinden. Da im Backend CSP-Regeln angewendet werden, konnte dies jedoch nicht missbraucht werden und wird nicht als Sicherheitslücke angesehen. Wissenswert Die Auswertung von "JSON" Datenbank-Spaltentypen in Doctrine DBAL wird nun intern bei Extbase besser ausgewertet, so dass es zu keinem doppelt kodierten JSON mehr kommen sollte, un der "JSON"-Typ gut eingesetzt werden kann. Wissenswert Der neue mehrschrittige Wizard (z.B. für neue Seiten und neue Formulare) kann nun optional den Zusammenfassungs-Schritt überspringen. Dies ist für neue EXT:form Formulare standardmäßig aktiviert. Wissenswert Die Live-Suche kann nun auch Dateien (sys_file / sys_file_metadata) als Suchergebnis finden und darstellen Wissenswert Wenn ein Bild via TypoScript ausgegeben werden soll, welches in der FAL als "missing" deklariert ist, wird keine Exception mehr geworfen sondern kein Bild dargestellt und nur eine Warnung geloggt. Wissenswert Die Ausgabe von fehlenden Bildern erzeugt nun kein leeres "src" Attribut mehr bei f:image ViewHelpern, sondern erstellt ein generell leeres Tag. Wissenswert Der Symfony Messenger kann nun das Attribut `AsMessageHandler::$fromTransport` korrekt nutzen und auswerten, und bei Wildcard-Route-Matching werden Fallback-Routen nicht mehr automatisch bespielt - und somit auch das doppelte Interpretieren von Messages in mehreren Transports wird unterbunden. Changelog-Eintrag hierzu bitte lesen. Wissenswert Ähnlich wie der obige Eintrag werden Wildcard-Route-Matches nun als Fallback interpretiert, und nur genutzt wenn kein weiterer Transport bisher gegriffen hat. Auch hier bitte Changelog-Eintrag beachten Wissenswert Datensätze, die ein l10n_parent, aber kein l10n_source definiert hatten, werden nun auch ohne dieses Feld korrekt zugeordnet Wissenswert Der DataHandler `hasPageContextPermission` check wird nun wieder so platziert, dass der Permission-Check-Bypass korrekt ausgewertet wird Die Doctrine DBAL Nutzung vom "Table" schema greift nun sicherer auf die normalisierten Objektnamen zu, um eine Abhängigkeit von "wackeligen" Array-Key-Identifkationslookups zu vermeiden Vermeidung von unendlicher Auflösungs-Rekursion wenn ein doktype=3 (interner Link) auf sich selber zeigt MariaDB 11.4+ kann nun mit den neuen UCA-Collations korrekt genutzt werden im SchemaMigrator Die DBAL Doctrine Auswertung gelöschter Foreign Key Constraints im SchemaMigrator erfolgt jetzt ohne PHP-Fehler Die Doctrine DBAL Nutzung vom "quoteIdentifier" Handling wurde optimiert und vermeidet eine deprecated Methode. Bessere Kompatibilität zu Doctrine DBAL 4.4 durch Nutzung modernerer Tabellen/Spalten-Introspection-Methoden Etwaige Doctrine DBAL Connection-Credential Details werden nun sowohl mit legacy als auch aktuellen Namen korrekt mit "****" Sternchen im Install-Tool maskiert Bugfix durch DBAL 4.4 Patch, Erstinstallation mit leerer, bestehender Datenbank funktioniert nun wieder Die Slug-Erzeugung in FormEngine klappte nicht zuverlässig, wenn ein DateTime-Feld als Teil einer URL-Struktur konfiguriert wurde Wenn eine Extension mehrere DocHeaderComponent Einträge erzeugen wollte, wird dies nun mit einer Warnung bzw. Fehlerhinweis geloggt, da dies seit TYPO3 v14 nicht mehr möglich ist. Die LogRecord Methoden für offsetSet (ArrayAccess) wurde korrigiert, da sie bislang den falschen Wert zugewiesen hatte In Vorbereitung auf größere PHP 8.5 Kompatibilität wird "unset()" auf protected Klassen-Properties nun vermieden, um keine Probleme mit property Hooks zu erzeugen Der Sprachkey "default" für Backend-Benutzersprachen beim Erzeugen über den "backend:user:create" CLI Befehl wurde nun entfernt (gültig ist nur noch "en" hierfür). Dies war bereits länger deprecated und intern nicht mehr genutzt. Ein "Undelete" im DataHandler kann nun referenzierte IRRE-Datensätze auch kaskadierend wiederherstellen Die "Correlation ID" beim DataHandler sys_log Handling wird nun gezielter intern durchgereicht Page TSConfig kann nun wieder korrekt TCA Tabellen-Labels überschrieben die in FormEngine ausgewertet werden Der HTTP-Header "Content-Encoding" wird, falls gesetzt in Extensions bzw. TypoScript, nun auch in eigenen 404-Errorhandlern durchgereicht. Typ-Annotationen (nicht deklarationen) für `DataHandler::$substNEWwithIDs` wurden ergänzt Entfernung eines nicht mehr genutzten "install"-Queryparameters ($formValues) Fehlerhafte, abgebrochene Backend-Logins werden korrekt geloggt Die auf SHA3-256 umgestellten HMAC Tokens werden für die Einbettung von Dateidownloads nun überall ausgewertet, zwei Stellen wurden übersehen bislang Optimierung des Rechtechecks für die Erstellung von Unterseiten auf Ordner ohne Leserechte im Seiten-Erzeugungs-Wizard Das Paket `psr/clock` wird nun explizit genutzt und neue Klassen dafür bilden Methoden ab um die Systemzeit für z.B. langlebigere Prozessausführung (CLI, Authentifikation/Sessions) zu tracken. Das Parsing von "FIND_IN_SET" statements in "ORDER BY" kann nun mit Trennzeichen innerhalb der Statementteile umgehen Das Parsing der "ORDER BY" Anweisung im Suggest-Wizard (TCA) kann nun korrekt mit Zeilenumbrüchen umgehen Die PSR-7 Session-Cookie-Ausgabe erfolgt nun über eine isolierte Methode PHP-Typfehler Vermeidung einer PHP-Warnung beim Logout unter gewissen Umständen Backend: CKEditor / RTE Das Splitting von Leerzeilen innerhalb von Absätzen wird nun korrekt ausgewertet anstelle der Einfügung unnötiger Absätze oder Duplizierung von Blocklevel-Elementen. Backend: Extension Manager Wissenswert Vermeidung einer Fehlermeldung bei Zugriff auf die Version einer ExtensionManager Dependency mit einem nicht mehr vorhandenen getter. Hiermit sind nun Extensions auch wieder korrekt installierbar die gewisse Versionschecks enthalten. Wissenswert Bessere Auswertung bei Kompatibilität einer Extension zu mehreren TYPO3-Core-Versionen im Update-Check und Download Vermeidung einer harten Fehlermeldung falls die Extension-Manager-Tabellen sich während einer Operation ändern (neue UIDs), in dem geprüft wird dass Lookups nach UID auch potentiell fehlschlagen können. Das Info-Icon für Extension-Manager-Hinweise für unerfüllte Abhängigkeiten wird wieder mit dem richtigen Status ausgegeben Der ExtensionManager nutzt nun den ExtensionKey für einige Infos/Details anstelle einer "uid" für die Datenbank-Cachetabelle aller Extensions Backend: EXT:workspaces Something something Mehrsprachigkeit-Workspaces something... wer den Patch richtig versteht, möge Kontakt zu mir aufnehmen. ;-) Backend: EXT:scheduler Wissenswert Das Kommando "mailer:spooler:send" kann nun wieder korrekt für den Scheduler eingesetzt werden Backend EXT:linkvalidator Bei zu langen "header" Datensätzen konnte es Fehler bei der Speicherung geben. Diese Daten werden nun auf (fast) 255 Zeichen beschränkt. Backend EXT:impexp Vermeidung von potentiell ungewolltem Fileupload in EXT:impexp (nicht als Sicherheitslücke klassifiziert) EXT:redirects Redirects die ohne Integritäts-Status angelegt wurden zeigen nun kein Fehler-Symbol mehr in der Ansicht, sondern werden so behandelt wie "ok". Strukturelles Die TYPO3 "ClassLoadingInformation" für PSR-4 Pfade wird (vor allem für das testingframework) nun besser erzeugt Auch XSL und ICO Dateien werden in der htaccess-Vorlage nun als versionierbare Dateinamen akzeptiert Dependencies Wissenswert Vorbereitungen für PHP 8.6 Kompatibilität (Tests) Update von PHPStan Update von `christian-riesen/base32` auf v2 Update von `symfony/property-info` Update von `guzzle` (Security Issues möglich) Dokumentation Es wird nun dokumnentiert, dass bei der Auswertung der EXT:seo Metadatenfelder die Datenbank-Inhalte der Seiteneigenschaften Priorität vor den TypoScript-Definitionen haben. Anstelle von Anker-Links mit Hinweisen zu System-Konfigurationsoptionen werden diese direkt ausgegeben, und Texte leicht verbessert Dokumentation wird nun mit dem aktuellsten `render-guides` image erzeugt (leicht aktualisiertes Layout) PPW Insights: Lassen Sie sich von digitaler Innovation inspirieren! Jetzt anmelden und digital informiert bleiben
WeiterlesenTYPO3 Version 13.4.34
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 Dieses Security-Release behebt ein Sicherheitsrisiko für zielgerichtete XHR/Fetch-Angriffe im Backend bei Nutzung etwaiger XSS-Vektoren, bei denen der ReferrerEnforcer umgangen werden konnte. Ansonsten enthält dieses Release einige Ergebnisse der TYPO3-DevDays Coding-Night - ein Ergebnis von viel Arbeit der Community. Herzlichen Dank an dieser Stelle! Es gab Updates in Bezug auf Doctrine DBA L ( Kompatibilität zu MariaDB 11.7 und 11.8 , UCA Collations, Foreign Key Schema Migration, DBAL 4.4 Kompatibilität). Und Extbase-Objekte im Backend werden nun immer ohne “hidden/deleted”-Restriktionen ausgewertet . Fehlende FAL-Assets lösen keine Fehlerseiten im Frontend mehr aus. Zudem wurden einige kleinere Dependencies aktualisiert. Insgesamt gab es 51 Änderungen . Sicherheit Sehr wichtig Der `ReferrerEnforcer` zur Absicherung gegen lokale XHR/Fetch Angriffe (z.B. via XSS) kann nun die angepassten TYPO3-Einstiegspunkte (index.php anstelle früher `/typo3/` für das Backend korrekt auswerten, so dass Angriffe gegen die vollständige Domain dann nicht mehr möglich sind TCA / Schema API / Record API TCA Placeholder können mit pipe getrennte Notation nutzen um auf andere Datensätze zu referenzieren, die konnte unter gewissen Umständen jedoch das Wort "Array" erzeugen. API (Frontend / Extbase) Wissenswert Wenn eine Unterseite eines TreeMounts in einer übersetzten Sprache aufgerufen wurde, konnte das URL-Routing im Rootline-Lookup fehlschlagen. Nun wird hierfür die Standardsprache zum korrekten Resolving genutzt. Wissenswert Bei Nutzung des MemorySpool Mailtransports wurden etwaige PHP-Fehlermeldungen die während des Mailversand auftraten ggf. nicht geloggt (nur sehr spezifische Fehlermeldungen bislang). Dies wird nun großflächiger sichergestellt. EXT:indexed_search Nutzung des korrekten ASC/DESC Sortierungs-Flags Content Security Policy (CSP) Die CSP-Basis-URI kann nun auch relative oder schema-lose URIs enthalten Backend: UI Die Benutzername/Passwort-Kombinationen die man alternativ (!) mit einem "url" String definieren konnte werden nun auch maskiert bei deren Anzeige im Install-Tool Backend: API / Core Sehr wichtig MariaDB 11.7 und 11.8 wurden in die TYPO3-Testmatrix eingefügt und Testfehler behoben. Auch für die PostgreSQL-Plattform gab es eine kleinere Anpassung. Somit können TYPO3 v13+v14 mit diesen Versionen potentiell genutzt werden. Fehler gerne berichten! Sehr wichtig Extbase-Objekte im Backend (!) werden nun immer ohne Anwendung von enableFields-Restriktionen ausgeliefert (also auch hidden und nicht veröffentlichte Datensätze starttime/endtime), so wie es das TYPO3-Backend auch mit Datensätzen tut. Hierzu wird der TYPO3-Request-Kontext für das Backend ausgewertet. Wenn plötzlich Datensätze angezeigt oder ausgewertet werden, die im Backend vorher nicht erschienen (z.b. eigene Module) dann müssen hier eigene Restrictions gezielt angewendet werden. Wissenswert Wenn ein Bild via TypoScript ausgegeben werden soll, welches in der FAL als "missing" deklariert ist, wird keine Exception mehr geworfen sondern kein Bild dargestellt und nur eine Warnung geloggt. Wissenswert Die Ausgabe von fehlenden Bildern erzeugt nun kein leeres "src" Attribut mehr bei f:image ViewHelpern, sondern erstellt ein generell leeres Tag. Wissenswert Datensätze, die ein l10n_parent, aber kein l10n_source definiert hatten, werden nun auch ohne dieses Feld korrekt zugeordnet Wissenswert Der DataHandler `hasPageContextPermission` check wird nun wieder so platziert, dass der Permission-Check-Bypass korrekt ausgewertet wird Die Doctrine DBAL Nutzung vom "Table" schema greift nun sicherer auf die normalisierten Objektnamen zu, um eine Abhängigkeit von "wackeligen" Array-Key-Identifkationslookups zu vermeiden MariaDB 11.4+ kann nun mit den neuen UCA-Collations korrekt genutzt werden im SchemaMigrator Die DBAL Doctrine Auswertung gelöschter Foreign Key Constraints im SchemaMigrator erfolgt jetzt ohne PHP-Fehler Die Doctrine DBAL Nutzung vom "quoteIdentifier" Handling wurde optimiert und vermeidet eine deprecated Methode. Bessere Kompatibilität zu Doctrine DBAL 4.4 durch Nutzung modernerer Tabellen/Spalten-Introspection-Methoden Etwaige Doctrine DBAL Connection-Credential Details werden nun sowohl mit legacy als auch aktuellen Namen korrekt mit "****" Sternchen im Install-Tool maskiert Bugfix durch DBAL 4.4 Patch, Erstinstallation mit leerer, bestehender Datenbank funktioniert nun wieder Die Slug-Erzeugung in FormEngine klappte nicht zuverlässig, wenn ein DateTime-Feld als Teil einer URL-Struktur konfiguriert wurde Die LogRecord Methoden für offsetSet (ArrayAccess) wurde korrigiert, da sie bislang den falschen Wert zugewiesen hatte In Vorbereitung auf größere PHP 8.5 Kompatibilität wird "unset()" auf protected Klassen-Properties nun vermieden, um keine Probleme mit property Hooks zu erzeugen Nachträglicher Backport eines Patches um das PSR LoggerInterface via `injectLoggerInterface()` Methode setzen zu können (unabhängig vom Trait, unter Nutzung von DI) Das Parsing der "ORDER BY" Anweisung im Suggest-Wizard (TCA) kann nun korrekt mit Zeilenumbrüchen umgehen Backend: CKEditor / RTE Das Splitting von Leerzeilen innerhalb von Absätzen wird nun korrekt ausgewertet anstelle der Einfügung unnötiger Absätze oder Duplizierung von Blocklevel-Elementen. Backend: Extension Manager Wissenswert Bessere Auswertung bei Kompatibilität einer Extension zu mehreren TYPO3-Core-Versionen im Update-Check und Download Backend: EXT:workspaces Something something Mehrsprachigkeit-Workspaces something... wer den Patch richtig versteht, möge Kontakt zu mir aufnehmen. ;-) Backend EXT:impexp Vermeidung von potentiell ungewolltem Fileupload in EXT:impexp (nicht als Sicherheitslücke klassifiziert) EXT:redirects Redirects die ohne Integritäts-Status angelegt wurden zeigen nun kein Fehler-Symbol mehr in der Ansicht, sondern werden so behandelt wie "ok". Strukturelles Die TYPO3 "ClassLoadingInformation" für PSR-4 Pfade wird (vor allem für das testingframework) nun besser erzeugt Dependencies Wissenswert Vorbereitungen für PHP 8.6 Kompatibilität (Tests) Update von PHPStan Update von `christian-riesen/base32` auf v2 Update von `symfony/property-info` Update von `guzzle` (Security Issues möglich) Dokumentation Es wird nun dokumnentiert, dass bei der Auswertung der EXT:seo Metadatenfelder die Datenbank-Inhalte der Seiteneigenschaften Priorität vor den TypoScript-Definitionen haben. Dokumentation wird nun mit dem aktuellsten `render-guides` image erzeugt (leicht aktualisiertes Layout) PPW Insights: Lassen Sie sich von digitaler Innovation inspirieren! Jetzt anmelden und digital informiert bleiben
Weiterlesen