TopLogic - the automated application engine
  • Releases
  • Dokumentation
  • Github
  • Discord
  1. Home
  2. Releases
  3. TL_7.9.4
  4. #28570

7.9.4
TopLogic Release

2025-04-11

Verbesserung

Wichtig
#28022
TL-Script: Zugriff auf Anwendungskonfigurationen
#28173
TLScript: neue Funktion zum Parsen von Excel Dateien
#28310
Layout-Editor: Prozessansicht
#28532
Neue TL-Script-Funktion isCompatibleValue()
#28539
TLScript-Funktion für den Zugriff auf konfigurierte Formate
#28550
Prevent leading and trailing white space for model-based fields
#28558
OpenAPI: Mehrere alternative Authentisierungsmechanismen für dieselbe API ermöglichen
#28564
OpenAPI: Accept authorization token, even if it contains no user information
Detail
#28523
Optionsliste aktualisiert sich nicht, wenn die Optionen über konfigurierte Skripte berechnet werden
#28541
Lock-Strategie in Templates für Grid und Tree-Grid verfügbar machen
#28542
Unterstützung für SQL "like" Konstrukt
#28561
Dynamische Dateinamen für (Excel-)Downloads

Fehlerbehebung

Wichtig
#28578
Oracle JDBC Treiber-Update: Bug "ORA-01461" in JDBC Treiber
Detail
#27975
Excel-Export im Modell-Editor hat falsche Kommandogruppe
#28303
Dokumentation zum Einbinden von Iconfonts anpassen
#28375
Überschreiben von I18N Attributen macht existierende Werte unerreichbar
#28445
Ignorieren der Selektionsspalte bei Funktion "Spaltenbreiten automatisch anpassen"
#28529
NullPointerException bei modifiedRevision() auf neue Kompositionen
#28531
Drücken von ESCAPE oder ENTER nach einem Reload wirft Fehler und löst Reload aus
#28540
Rückwärtsreferenzen in transienten Objekten werden nicht richtig aufgelöst
#28552
Ersetze veralteten Begriff "Wrapper" durch aktuellen Begriff "TLObject" in der Klasse CompositionFieldProvider.
#28553
Typ-Konvertierungsfehler bei berechneten Spalten vom Typ tl:core:Duration
#28555
Bilder in HTML Attributen werden erst nach dem Speichern angezeigt
#28557
Größenbeschränkung für das Attribut "street" eines Firmenkontakts zu streng
#28563
JSON: NumberFormatException beim Parsen großer Integer Werte
#28565
CSS-Klasse ' tblRight' greift nicht, bei Feldern im Bearbeitungsmodus und im Header
#28566
Kompositionsattribute berücksichtigen Dynamische Bezeichnungen nicht im Tabellentitel
#28570
Missing Validation of OAuth State Parameter
#28582
ClassCastException bei Auswahl aller Zeilen in Tabelle
#28584
Template für Tabellen um Option "resetInvisible"
Fehlerbehebung

Detail

#28570

Missing Validation of OAuth State Parameter

DifaV7SecurityIssue

The application does not provide the state parameter in the authentication flow. Attackers can exploit this behavior for Cross-Site Request Forgery (CSRF) attacks. The usage of a state parameter with a high entropy is required.

For example: Opening the following URL https://my.server/my-app/servlet/callback?client_name=pac4j-generic&code=LMC22f[...]AAABn results in the output of a session cookie and thus in a successful login to the application, despite no state parameter value provided. An attacker could exploit this behavior to perform a Cross-Site Request Forgery (CSRF) attack. By clicking this link, a user’s own session is overwritten with the attacker’s session. If a user does not notice the session switch, sensitive information could be stored in the attacker’s account.

Konfiguration

Ein CSRF-Token wird generiert, wenn dies über die Konfiguration eingeschaltet wird.

   <with-state>true</with-state>

In:

<config service-class="com.top_logic.security.auth.pac4j.config.Pac4jConfigFactory">
	<instance>
		<clients>
			<client name="...">
				<with-state>true</with-state>
			</client>
		</clients>
	</instance>
</config>

Verbesserung

Der Standardwert für "with-state" wird auf <code>true</code> gesetzt, so dass man das in Zukunft explizit wegkonfigurieren muss, wenn man keinen Schutz gegen CSRF haben will.

Test

  • Login über OIDC
  • Check, dass in org.pac4j.core.util.generator.RandomValueGenerator.generateValue(CallContext) ein Token generiert wird
  • und dass in org.pac4j.oidc.credentials.extractor.OidcCredentialsExtractor.extract(CallContext) das Token mit dem in der Session gespeicherten Token verglichen wird.
  • Get Started
  • Github
  • Discord
  • Das Unternehmen hinter TopLogic
  • Softwareentwicklung heute
  • Kontakt

© Copyright – Business Operation Systems GmbH

  • top-logic.com
  • Nutzungsbedingungen
  • Impressum
  • Rechtlicher Hinweis
  • Datenschutz
  • EN
  • Login