Release Notes FirstSpirit™ 2023.10

Release Notes

FirstSpirit™ 2023.10

1 Administration

1.1 Aktualisierung von integrierter Fremdsoftware

Mit dem Release 2023.10 sind folgende intern verwendete Software aktualisiert worden.

  • Java Service Wrapper (Konfiguration und Überwachung der FirstSpirit Java VM, 3.5.50 --> 3.5.54)
    Hinweis: Bei einer Aktualisierung des FirstSpirit-Servers (Auto-Update, Inplace-Upgrade) werden die Dateien des Java Service Wrappers nicht automatisch aktualisiert. Der Java Service Wrapper kann gemäß FirstSpirit Installationsanleitung über das Tar-Gzip-Aktualisierungsarchiv (Datei fs-update-[version].tar.gz) aktualisiert werden.
    Weiterführende Dokumentation:

1.2 Konfigurierbare Metrik zur Erkennung von blockierten Threads

Mithilfe des neuen Parameters schedule.maxInactivityTimeout in der fs-server.conf kann definiert werden, innerhalb welchen Zeitraums eine Auftragsaktion als „blockiert“ betrachtet und abgebrochen wird, wenn keine CPU-Zeit verbraucht wurde.

Diese Metrik ermöglicht es, Threads oder Auftragsaktionen zu identifizieren, die keine CPU-Ressourcen innerhalb eines festgelegten Zeitraums nutzen, und sie gegebenenfalls abzubrechen, um die Effizienz und die Ressourcennutzung zu optimieren.

Standardmäßig ist dieser Zeitrahmen auf 10 Minuten eingestellt. Eine Überprüfung auf die Abbruchbedingung erfolgt alle fünf Minuten.

Im Ausnahmefall kann ein Thread in der Standardkonfiguration also bis zu 15 Minuten ohne CPU-Verbrauch verharren, bevor er als blockiert erkannt und abgebrochen wird.

1.3 Kritische Sicherheitslücke: "Heap Buffer Overflow" in WebP

Aufgrund von CVE-2023-4863 wurde die von FirstSpirit benutzte WebP-Library, welche zum Rendern von WebP-Bildern benötigt wird, auf eine Version aktualisiert, die auf libwebp-Version 1.3.2 basiert.

Ein „Heap Buffer Overflow“ in WebP ermöglicht es einem Angreifer, Speicher außerhalb der festgelegten Grenzen zu schreiben und so möglicherweise bösartigen Code einzuschleusen. Ein manipuliertes WebP-Bild kann daher zu einer Code-Injection führen.

FirstSpirit-Versionen ab 2019.11 sind betroffen.

Wie kann die Lücke ausgenutzt werden?

  • Ein Redakteur fügt ein manipuliertes WebP-Bild einem Projekt hinzu.

Was muss man tun?

  • (Server) Update auf 5.2.230813 (Non-Jakarta) oder 5.2.231008 (Jakarta)
  • (Client) Deaktivieren der integrierten Vorschau im SA (JxBrowser)
  • (Client) Aktualisieren der lokalen Browser

Mitigation ohne FS Update

  • (Server) Hochladen von WebP verhindern (Einstellen passender Restriktionen im Projekt) oder
  • (Server) WebP als Medientyp „file“ konfigurieren
  • (Client) Deaktivieren der integrierten Vorschau im SA (JxBrowser)
  • (Client) Aktualisieren der lokalen Browser

1.4 Sicherheit: Externe Authentifizierung von internen Admins

Aus Sicherheitsgründen ist es für Server-Administratoren, bei denen die Option „externer Benutzer“ nicht gesetzt ist, nicht mehr möglich, sich über eine externe Authentifizierung (z. B. SAML oder LDAP) anzumelden. Ein entsprechender Versuch führt nun dazu, dass der Anmeldedialog angezeigt wird.

Diese Einschränkung gilt nicht für „normale“ Benutzer und auch nicht für Projekt-Administratoren.

2 Administration / Module

2.1 SAML Login: Match-Modi für Externe Gruppen

Es wurden zwei neuen Match-Modi für externe Gruppen im FirstSpirit SAML Login Modul eingeführt.

Die neuen Parameter können in fs-saml.conf defineirt werden (siehe dazu Installation und Einrichtung des Moduls).

group.match.mode

Mögliche Werte:

  • contains (Standardwert)
  • equals

Mit diesem Parameter kann die Zuordnung zu externen Gruppen von dem „SAML Gruppe muss die externe Bezeichnung der Gruppe enthalten“ (contains) auf „SAML Gruppe muss identisch zur externen Bezeichnung sein“ (equals) geändert werden.

group.name

group.name=${saml:groupName}

Mit diesem Parameter ist es möglich, den SAML Gruppennamen um ein beliebiges Prefix und/oder Suffix zu erweitern.

Beispiel:

group.name=SAML-${saml:groupName}-GRUPPE

Diese Konfiguration würde dazu führen, dass eine über SAML Login bezogene Gruppe „users“ in FirstSpirit als „SAML-users-GRUPPE“ verwendet würde.

2.2 Umstellung auf Jakarta Servlet 6.0

Die Umstellung auf Jakarta Servlet 6.0 ist ein wesentlicher Schritt, um die Sicherheit der Webanwendungen zu gewährleisten.

Mit der FirstSpirit-Version 2023.9 erfolgte die Umstellung auf Jakarta Servlet 6.0 mit Unterstützung für automatische Migration.

Die Unterstützung der automatischen Migration wird mit FirstSpirit 2024.9 eingestellt.

Im Gegensatz zum schrittweise erfolgenden Rollout für Cloud-Kunden können On-Premises-Kunden ihre FirstSpirit-Server nach Erscheinen der Version 2023.9 oder 2023.10 testen und migrieren.

Wir empfehlen jedoch dringend, mit dem Update von produktiven Servern mindestens bis zum Release 2023.11 zu warten, da wir mit diesem Release die Kompatibilität für die von Crownpeak bereitgestellten Module gewährleisten wollen.

Wichtig:

  • Wenn FirstSpirit in einem On-Premises-Szenario betreiben wird, muss beim Wechsel auf die FirstSpirit JakartaEE-Edition die Tomcat-Version aktualisiert werden. Da die Servlet-Version auf 6.0 aktualisiert wird, wird eine 10.1.x Version von Tomcat benötigt.
  • Die Verwendung der FirstSpirit-Version 2023.9 oder höher setzt voraus, dass Java in der Version 17 eingesetzt ist.

Die FirstSpirit-Installation kann betroffen sein, wenn eine der folgenden Bedingungen zutrifft:

  • Die FirstSpirit-Installation wird nicht in der Crownpeak Cloud gepflegt.
  • Es wird ein benutzerdefiniertes Modul verwendet, das eine WebApp-Komponente mit Code enthält, der die alte Java-Servlet-API verwendet.
  • Es wird ein benutzerdefiniertes Modul eingesetzt, das eine WebApp-Komponente mit Abhängigkeiten enthält, die das alte JavaEE-API verwenden, z. B. Spring Boot 2.x.

Weitere Informationen und Updates sind in der Crownpeak Community und in den ausführlichen Jakarta FAQ zu finden.
Bei Fragen oder Feedback zur Migration wenden Sie sich bitte an den Customer Support Team.

3 Allgemeines

Informationen zur eingesetzten Servlet-Version

Im ServerManager liefert die Liste der Web-Applikationen jetzt auch Informationen zur eingesetzten Servlet-Version. Mit dieser kann festgestellt werden, ob auf einem Server mit Jakarta-EE-Unterstützung noch Komponenten installiert sind, die in nächster Zeit auf die Jakarta-EE-API migriert werden sollen.

Servlet Version
Servlet Version

4 Externe Synchronisierung / Content Transport

ContentTransport: Verbessertes Aufräumen von Features

Bei der Erstellung von Features werden diese nun nicht mehr grundsätzlich im „Project-Local-Storage“ gespeichert, sondern nur noch, wenn dieser explizit ausgewählt wurde.

Hinweis: Bei der Erstellung von Features mittels FirstSpirit-API wird automatisch der „Project-Local-Storage“ verwendet.

5 FirstSpirit Content Experience Tools (CXT)

Aktuelle Modul-Versionen

Folgende Modul-Versionen für FirstSpirit Content Experience Tools werden von FirstSpirit 2023.10 unterstützt.

Modul- / DateinameVersionsnummer
FirstSpirit CXT Plattform
platform-[version].fsm
5.0.2
FirstSpirit CXT DAP Bridge
dataservice-[version].fsm
1.44.15
FirstSpirit CXT FragmentCreator
fragment-creator-[version].fsm
5.0.1
FirstSpirit Fragment DAP
fragmentdap-[version].fsm
1.40.23
FirstSpirit Media DAP
mediadap-[version].fsm
1.31.14
FirstSpirit PageRef DAP
pageref-[version].fsm
1.9.14
FirstSpirit Markdown Editor
markdown-editor-[version].fsm
1.29.13
FirstSpirit Tagging Editor
tagging-editor-[version].fsm
1.29.13
FirstSpirit CXT FragmentCreator - CaaS Integration
caas-integration-[version].fsm
1.31.13

6 Modul-Entwicklung, Skripte, API

6.1 Angabe einer minimal unterstützten FS-Version für Module

Mit dem aktuellen FirstSpirit-Release besteht nun die Möglichkeit, optional eine minimal benötigte FirstSpirit-Version bei der Modulenwicklung anzugeben (module.xml).

Innerhalb des <module>-Blocks kann die entsprechende FirstSpirit-Version definiert werden.

Beispiel:

<module>
<name>FirstSpirit Beispiel-Modul</name>
<version>5.2</version>
<min-fs-version>5.2.230909</min-fs-version>

<components>
...
</components>
<module>

Mit dieser Syntax kann z. B. sichergestellt werden, dass das Modul nur auf einem FirstSpirit-Server ab der Version 5.2.230909 installiert werden kann.

Die Syntax lautet <FSMajorVersion>.<FSMinorVersion>.<FSBuildNummer>, wobei

  • <FSMajorVersion>: 5
  • <FSMinorVersion>: 2
  • <FSBuildNummer>: 6-stellige Nummer bestehend aus jeweils zwei Stellen für <Jahr>, <Version im Jahr>, <Buildnummer>

6.2 Neue Methode zum Ermitteln des Pfades zu einem Webanwendungsverzeichnis des Webservers

Das Interface WebServer (FirstSpirit Developer-API, Package de.espirit.firstspirit.module) wurde um eine neue Methode getWebAppDir(String targetPath) erweitert, die den Pfad zu einem bestimmten Webanwendungsverzeichnis dieses Webservers zurück liefert. Da die Methode über eine Default-Implementierung verfügt, ist für die meisten Ableitungen der Klasse keine Anpassung notwendig.

Außerdem wurde der Fehler beseitigt, der dazu führte, dass die Ergebnisse von Generierungsaufträgen für den mit FirstSpirit 2023.9 bereitgestellten Embedded Tomcat nicht sichtbar waren.

Übersicht

ID Beschreibung Kategorien
CORE-8226

Die Interfaces im API-Package de.espirit.common.function sind jetzt als „deprecated“ eingestuft und können durch ihre jeweiligen Pendants aus dem JDK ersetzt werden. Es ist das jeweilige ApiDoc für Details zu beachten.

FirstSpirit-API
CORE-11447

Beim Installieren und Deinstallieren von Web-Applikation-Komponenten über die API-Methoden installWebApp und uninstallWebApp (FirstSpirit Developer-API, Interface ModuleAdminAgent, Package de.espirit.firstspirit.agency) wird jetzt nur noch die betroffene Web-Applikation neu ausgerollt und nicht mehr alle Web-Applikationen, in denen die Web-Applikation-Komponente installiert ist.

FirstSpirit-API
CORE-13304

Bei der Modulenwicklung ist es nun möglich eine minimal unterstützte FirstSpirit-Version anzugeben.

Weitere Informationen können dem Kapitel „Modul-Entwicklung, Skripte, API: Angabe einer minimal unterstützten FS-Version für Module“ entnommen werden.

Modul-Entwicklung
CORE-14442

Mithilfe des neuen Parameters schedule.maxInactivityTimeout in der fs-server.conf kann definiert werden, innerhalb welchen Zeitraums eine Auftragsaktion als „blockiert“ betrachtet und abgebrochen wird, wenn keine CPU-Zeit verbraucht wurde.

Weitere Informationen können dem Kapitel „Administration: Konfigurierbare Metrik zur Erkennung von blockierten Threads“ entnommen werden.

Server-Administrator
CORE-15037

Aktualisierung von integrierter Fremdsoftware

Weitere Informationen können dem Kapitel „Administration: Aktualisierung von integrierter Fremdsoftware“ entnommen werden.

Integrierte Software
CORE-15129

Bei der Auswahl von Absatzvorlagen in einer FS_CATALOG-Eingabekomponente wurde ein Problem behoben, dass die Anzeige bei zu vielen Absatzvorlagen in seltenen Fällen am Bildschirmrand abgeschnitten wurde.

SiteArchitect
CORE-15476

Ein Problem wurde behoben, dass zu einer fehlerhaften Konfiguration der Web-Applikation von „FirstSpirit Dynamic Database Access“ Modul (fs-integration.fsm) geführt hat.

Server-Administrator
CORE-15501

Es wurden zwei neuen Match-Modi für externe Gruppen im FirstSpirit SAML Login Modul eingeführt. Damit wird die Flexibilität geboten, die Matching-Strategie für externe Gruppen entsprechend den Anforderungen festzulegen.

Weitere Informationen können dem Kapitel „Administration / Module: SAML Login: Match-Modi für Externe Gruppen“ entnommen werden.

Server-Administrator
CORE-15530

Bei der Erstellung von Features werden nur explizit ausgewählte Features im „Project-Local-Storage“ gespeichert.

Weitere Informationen können dem Kapitel „Externe Synchronisierung / Content Transport: ContentTransport: Verbessertes Aufräumen von Features“ entnommen werden.

Content Transport
CORE-15544

Die Robustheit der Revisionserzeugung in FirstSpirit wurde verbessert, so dass die Wahrscheinlichkeit für den Status TIMEOUT noch geringer wird.

FirstSpirit-Administrator
CORE-15565

Ein möglicher Deadlock bei der Aktualisierung des Suchindex wurde behoben.

Server-Administrator
CORE-15569

Neue Methode getWebAppDir(String targetPath) im Interface WebServer (Package de.espirit.firstspirit.module, FirstSpirit Developer-API)

Weitere Informationen können dem Kapitel „Modul-Entwicklung, Skripte, API: Neue Methode zum Ermitteln des Pfades zu einem Webanwendungsverzeichnis des Webservers“ entnommen werden.

FirstSpirit-API, Server-Administrator
CORE-15597

Aus Sicherheitsgründen ist es für Server-Administratoren, bei denen die Option „externer Benutzer“ nicht gesetzt ist, nicht mehr möglich, sich über eine externe Authentifizierung (z. B. SAML oder LDAP) anzumelden.

Weitere Informationen können dem Kapitel „Administration: Sicherheit: Externe Authentifizierung von internen Admins“ entnommen werden.

Server-Administrator, Sicherheit
CORE-15604

Es wurde ein Fehler behoben, der dazu führen konnte, dass beim Import von Bildern inkl. entsprechender Auflösungen das Vorschaubild fälschlicherweise nicht auf Grundlage des Originalbild berechnet wurde.

Medien
CORE-15610

Im ServerManager liefert die Liste der Web-Applikationen jetzt auch Informationen zur eingesetzten Servlet-Version.

Weitere Informationen können dem Kapitel „Allgemeines: Informationen zur eingesetzten Servlet-Version“ entnommen werden.

ServerManager
CORE-15613

Das Modul „FirstSpirit BasicSearch“ nutzt nun keine Legacy Komponenten mehr.

Module
CORE-15634

Im Zuge der Umstellung auf die neue Jakarta-Servlet-Version werden Web-Anwendungen jetzt mit der XML-Schema-Version 6.0 deployt.

Server-Administrator, Web-Anwendungen
CORE-15652

FirstSpirit Content Experience Tools: Aktuelle Modul-Versionen

Weitere Informationen können dem Kapitel „FirstSpirit Content Experience Tools (CXT): Aktuelle Modul-Versionen“ entnommen werden.

FirstSpirit Content Experience Tools (CXT)
CORE-15662

Bei der Installation von Modulen, die FirstSpirit-Artefakte enthalten, wird jetzt eine Fehlermeldung ausgegeben. Zusätzlich werden diese Artefakte im laufenden Betrieb ignoriert.

Server-Administrator
CORE-15671

Umstellung auf Jakarta Servlet 6.0

Weitere Informationen können dem Kapitel „Administration / Module: Umstellung auf Jakarta Servlet 6.0“ entnommen werden.

FirstSpirit-Administrator, Java, Modul-Entwicklung, Module, Server-Administrator
CORE-15682

Es wurde eine Schwachstelle in der WebP-Library libwebp entdeckt (CVE-2023-4863). Die Sicherheitslücke wird als kritisch eingestuft. Crownpeak empfiehlt daher eine zeitnahe Aktualisierung auf eine abgesicherte FirstSpirit-Version (aktueller Build von 2023.8 oder 2023.10). Aufgrund von CVE-2023-4863 wurde die von FirstSpirit benutzte WebP-Library auf eine Version aktualisiert, die auf libwebp-Version 1.3.2 basiert.

Weitere Informationen können dem Kapitel „Administration: Kritische Sicherheitslücke: "Heap Buffer Overflow" in WebP“ entnommen werden.

Sicherheit
CXT-2941

Die Reihenfolge erlaubter Formatvorlagen in den Eingabekomponenten CMS_INPUT_DOM und CMS_INPUT_DOMTABLE wird nun für die Anzeige im Editor berücksichtigt.

ContentCreator
CXT-2968

Wenn für den ContentCreator eine externe Vorschau URL definiert wurde, so wird diese nun auch aufgerufen, wenn es keine Startseite in der Struktur-Verwaltung des Projektes gibt.

ContentCreator

Deprecations

Funktion Abgekündigt mit Entfällt / Entfallen mit
Eingabekomponente CMS_INPUT_CONTENTAREALIST 5.2R3
Eingabekomponente CMS_INPUT_CONTENTLIST 5.2R3
Eingabekomponente CMS_INPUT_FILE 5.2R3
Eingabekomponente CMS_INPUT_LINKLIST 5.2R3
Eingabekomponente CMS_INPUT_OBJECTCHOOSER 5.2R3
Eingabekomponente CMS_INPUT_PAGEREF 5.2R3
Eingabekomponente CMS_INPUT_PICTURE 5.2R3
Eingabekomponente CMS_INPUT_TABLIST 5.2R3
FirstSpirit Access-API: de.espirit.firstspirit.agency.GroupsAgent 5.2R15
FirstSpirit Access-API: delete (de.espirit.firstspirit.access.AccessUtil) 5.2R18
FirstSpirit Access-API: release (de.espirit.firstspirit.access.AccessUtil) 2018-06
FirstSpirit Access-API: getLastLoginAsDate (de.espirit.firstspirit.agency.UserStatisticsAgent) 2018-07
FirstSpirit Access-API: remainingDurationOfCurrentStageInMillis (de.espirit.firstspirit.server.MaintenanceModeInfo) 2018-07 2025-13
FirstSpirit Access-API: getStartingTimeOfStageAsDate (de.espirit.firstspirit.server.MaintenanceModeInfo) 2018-07 2025-13
FirstSpirit Access-API: getSelectedWebserverConfiguration (de.espirit.firstspirit.access.serverConfiguration) 2018-10 2025-13
FirstSpirit Access-API: setSelectedWebserverConfiguration (de.espirit.firstspirit.access.serverConfiguration) 2018-10 2025-13
FirstSpirit Access-API: getSelectedWebServer (de.espirit.firstspirit.access.project.Project) 2018-10 2025-13
FirstSpirit Access-API: setSelectedWebServer (de.espirit.firstspirit.access.project.Project) 2018-10 2025-13
FirstSpirit Access-API: getLostAndFoundStoreNodes(); (de.espirit.firstspirit.feature.FeatureInstallResult) 2018-10
FirstSpirit Access-API: getDeletedStoreNodes(); (de.espirit.firstspirit.feature.FeatureInstallResult) 2018-10
FirstSpirit Access-API: de.espirit.firstspirit.access.store.Previewable 2019-01
WebSphere Application Server Support für FirstSpirit 2019-05
Datenbank-Layer Oracle Database 11g/12c 2020-12 2025-05
FirstSpirit Access-API: redirectTemplateLogToDefaultLog() (Interface RenderingAgent.Renderer) 2021-05
Support für Log4j 1 2022-05 2024-06