Baja

PowSyBl Core Contains a Polynomial ReDoS in RegexCriterion

  • Publicada: 19.06.2025
  • Actualizado: 11.10.2026 12:21

Impact

What kind of vulnerability is it? Who is impacted?

This is an advisory for a potential polynomial Regular Expression Denial of Service (ReDoS) vulnerability in the RegexCriterion class. This class compiles and evaluates an unvalidated, user-supplied regular expression against the identifier of an Identifiable object via Pattern.compile(regex).matcher(id).find().

To trigger polynomial ReDoS in RegexCriterion, two attacker-controlled conditions must be met:

  • Control over the regex input passed into the constructor:
    • Example: An attacker supplies a malicious pattern such as (.*a){10000}.
  • Control or influence over the output of Identifiable.getId():
    • Example: A long string like "aaaa...!" that forces excessive backtracking.

If both conditions are satisfied, a malicious actor can cause significant CPU exhaustion through repeated or recursive filter(...) calls — especially if performed over large network models or filtering operations. While this class does not handle file or memory data directly, its reliance on untrusted regular expressions and potentially attacker-controlled identifiers makes it vulnerable to polynomial ReDoS under the right conditions. This risk is amplified when the library is used in dynamic or scriptable environments where external users control either criterion construction or network object identifiers. Although not as dangerous as catastrophic exponential ReDoS, the polynomial pattern still induces significant performance degradation as input size increases.

Am I impacted?

Since RegexCriterion are used to define contingencies or limit reductions, you are vulnerable if:

  • you allow untrusted users to define contingency lists or limit reductions using this criterion;
  • OR you load untrusted contingencies or limit reductions files

AND use them with a network containing untrusted identifiers.

Patches

com.powsybl:powsybl-iidm-criteria:6.7.2 and higher

References

powsybl-core v6.7.2

Software afectado

Haz clic en una tecnología para ver todas sus vulnerabilidades.

PlataformaPaqueteVersiones vulnerablesCorregida en
Java / Kotlin (Maven) com.powsybl:powsybl-contingency-api >= 5.0.0, < 6.3.0 6.3.0
Java / Kotlin (Maven) com.powsybl:powsybl-iidm-criteria >= 6.3.0, < 6.7.2 6.7.2

Referencias

Puntuación CVSS -
Vector CVSS
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:U
Debilidad (CWE)
CWE-1333
Plataforma
Java / Kotlin (Maven)
Paquete
com.powsybl:powsybl-contingency-api, com.powsybl:powsybl-iidm-criteria
Publicada
19.06.2025
Actualizado
11.10.2026 12:21

Fuentes y licencias

OSV / GitHub Advisory Database - GHSA-8qjw-9xgm-c9ff - CC BY 4.0

Historial de vulnerabilidades: com.powsybl:powsybl-iidm-criteria

Todas las vulnerabilidades publicadas de este paquete (Java / Kotlin (Maven)), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.

Esta es la única vulnerabilidad conocida de este paquete.

Identifica las vulnerabilidades de tu aplicación

Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.

Conectar tu aplicación
Newsletter DockRay

La seguridad de tus aplicaciones en tu correo

Vulnerabilidades importantes, recomendaciones concretas y consejos prácticos para tus aplicaciones. Elige tus tecnologías y sigue lo que importa para tu proyecto.

  • Un resumen diario de nuevas vulnerabilidades, también las críticas.
  • Avisos sobre actualizaciones importantes.
  • Consejos prácticos sobre seguridad y monitorización de aplicaciones.

Déjalo vacío para recibir avisos de todas las tecnologías.

Suscripción gratuita. Date de baja con un clic en cualquier correo.