CVE-2025-68156

Red Hat Security Advisory: RHOAI 3.3 - Red Hat OpenShift AI

Beschreibung

Expr ist eine Ausdruckssprache und -auswertung für Go. Vor Version 1.17.7 führen mehrere eingebaute Funktionen in Expr, einschließlich `flatten`, `min`, `max`, `mean` und `median`, eine rekursive Traversierung über von Benutzern bereitgestellte Datenstrukturen durch, ohne ein maximales Rekursionstiefe zu erzwingen. Wenn die Auswertungsumgebung tief verschachtelte oder zyklische Datenstrukturen enthält, können diese Funktionen unendlich rekursieren, bis der Go-Runtime-Stacklimit überschritten wird. Dies führt zu einem Stack Overflow-Panic und verursacht einen Absturz der Hostanwendung. Obwohl die Ausnutzbarkeit davon abhängt, ob ein Angreifer zyklische oder pathologisch tiefe Daten in die Auswertungsumgebung beeinflussen oder injizieren kann, stellt dieses Verhalten ein Risiko für eine Denial-of-Service (DoS) dar und beeinträchtigt die allgemeine Robustheit der Bibliothek. Anstatt einen wiederherstellbaren Evaluierungsfehler zurückzugeben, kann der Prozess unerwartet beendet werden. In den betroffenen Versionen kann die Auswertung von Ausdrücken, die bestimmte eingebaute Funktionen auf nicht vertrauenswürdigen oder unzureichend validierten Datenstrukturen aufrufen, zu einem Prozessabsturz aufgrund von Stack-Erschöpfung führen. Dieses Problem ist am relevantesten in Szenarien, in denen Expr verwendet wird, um Ausdrücke gegen extern bereitgestellte oder dynamisch erstellte Umgebungen auszuwerten; zyklische Verweise (direkt oder indirekt) können in Arrays, Maps oder Structs eingeführt werden; und es gibt keine Anwendungsebene-Schutzmaßnahmen gegen tief verschachtelte Eingabedaten. In typischen Verwendungen mit kontrollierten, nicht zyklischen Daten kann das Problem möglicherweise nicht auftreten. Wenn jedoch vorhanden, kann der resultierende Panic zuverlässig zum Absturz der Anwendung führen und stellt eine Denial-of-Service dar. Das Problem wurde in den Versionen v1.17.7 von Expr behoben. Der Patch führt eine maximale Rekursionstiefe für die betroffenen eingebauten Funktionen ein. Wenn diese Grenze überschritten wird, beendet sich die Auswertung elegant und gibt einen beschreibenden Fehler zurück, anstatt zu paniczen. Darüber hinaus kann die maximale Tiefe von Benutzern über `builtin.MaxDepth` angepasst werden, wodurch Anwendungen mit legitimen tiefen Strukturen die Grenze in einer kontrollierten Weise erhöhen können. Benutzer werden dringend dazu aufgefordert, auf das gepatchte Release zu aktualisieren, das sowohl den Rekursionsschutz als auch umfassende Testabdeckung zur Verhinderung von Regressionen enthält. Für Benutzer, die nicht sofort aktualisieren können, werden einige Milderungen empfohlen. Stellen Sie sicher, dass Auswertungsumgebungen keine zyklischen Verweise enthalten, validieren oder bereinigen Sie extern bereitgestellte Datenstrukturen vor dem Übergeben an Expr und/oder umschließen Sie die Ausdrucksauswertung mit Panic-Erholung, um einen vollständigen Prozessabsturz zu verhindern (als letzter-resort Verteidigungsmaßnahme). Diese Workarounds reduzieren das Risiko, beseitigen jedoch das Problem nicht vollständig ohne den Patch.

Metriken

Severity
high
kein öffentlicher PoC bekannt
7.5
Quelle: nvd-v3
36.1 %
Hoch — CVE rangiert über dem Median aller heute bewerteten CVEs (Rang ≥ 36 %).
0.4 %
Niedrig — Modell schätzt < 1 % Ausnutzungs-Wahrscheinlichkeit.
Veröffentlicht
2026-03-04 07:18 UTC
CWE-770

Weakness-Klassen (CWE)

  • CWE-770Base

    Allocation of Resources Without Limits or Throttling

    The product allocates a reusable resource or group of resources on behalf of an actor without imposing any intended restrictions on the size or number of resources that can be allocated.

    cwe.mitre.org →

Betroffene Produkte

Aus der Hersteller-/CERT-Meldung extrahierte Produkte und Versionsbereiche. Ein Version-Range wie „<4.14.6“ impliziert die Update-Empfehlung „auf 4.14.6 oder höher aktualisieren“.

  • aiohttp

    aiohttp3.13.3

  • anyscale

    ray2.52.0

  • bitnami

    argo-workflows3.0.0

  • bitnami

    golang1.25.0

  • bitnami

    php-min8.2.0

  • bitnami

    php-min8.3.0

  • bitnami

    php-min8.4.0

  • bitnami

    php-min8.5.0

  • go

    github.com/containerd/containerd

  • go

    github.com/containerd/containerd/v22.1.0-beta.0

  • go

    github.com/containerd/containerd/v22.2.0-beta.0

  • go

    github.com/expr-lang/expr

  • go

    github.com/kedacore/keda

  • go

    github.com/kedacore/keda/v22.18.0

  • go

    github.com/sigstore/fulcio

  • golang

    go1.25.0 – 1.25.6

  • golang

    go1.24.12

  • google

    sentencepiece0.2.1

  • IBM

    Concert< 3.0.0

    gefixt in 3.0.0

  • keras

    keras3.0.0 – 3.13.0

  • npm

    @langchain/core1.0.0

  • npm

    @langchain/core

  • npm

    langchain1.0.0

  • npm

    langchain

Quellen & Referenzen

Verknüpfte CVEs

21 weitere CVEs anzeigen
IDCVE-2025-68156