CVE-2025-48059
Awaiting Analysis Awaiting Analysis - Queue
BaseFortify

Publication date: 2025-06-20

Last updated on: 2025-06-23

Assigner: GitHub, Inc.

Description
PowSyBl (Power System Blocks) is a framework to build power system oriented software. In com.powsybl:powsybl-iidm-criteria versions 6.3.0 to before 6.7.2 and com.powsybl:powsybl-contingency-api versions 5.0.0 to before 6.3.0, there is a 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(). If successfully exploited, a malicious actor can cause significant CPU exhaustion through repeated or recursive filter(...) calls β€” especially if performed over large network models or filtering operations. This issue has been patched in com.powsybl:powsybl-iidm-criteria 6.7.2.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2025-06-20
Last Modified
2025-06-23
Generated
2026-05-07
AI Q&A
2025-06-20
EPSS Evaluated
2026-05-05
NVD
Affected Vendors & Products
Currently, no data is known.
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-1333 The product uses a regular expression with an inefficient, possibly exponential worst-case computational complexity that consumes excessive CPU cycles.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

CVE-2025-48059 is a polynomial Regular Expression Denial of Service (ReDoS) vulnerability in the RegexCriterion class of the PowSyBl framework. It occurs because the class compiles and evaluates user-supplied regular expressions without validation, using Java's standard regex engine. Malicious actors can supply crafted regex patterns that cause excessive backtracking and CPU exhaustion when matched against certain identifiers. This can degrade performance significantly, especially during repeated or recursive filtering operations on large network models. The vulnerability has been fixed by replacing the regex engine with a safer, linear-time engine (RE2J) that avoids this issue. [1, 2]


How can this vulnerability impact me? :

If exploited, this vulnerability can cause significant CPU exhaustion and performance degradation in applications using the affected PowSyBl components. Attackers who can supply malicious regex patterns and control or influence the identifiers being matched can trigger repeated or recursive filtering calls that consume excessive CPU resources. This is particularly impactful in environments processing large network models or applying filters dynamically. The result is a denial of service due to resource exhaustion, potentially disrupting normal operations. [2]


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability can be detected by identifying if your system uses vulnerable versions of com.powsybl:powsybl-iidm-criteria (6.3.0 to before 6.7.2) or com.powsybl:powsybl-contingency-api (5.0.0 to before 6.3.0) and if untrusted user-supplied regular expressions are compiled and evaluated via RegexCriterion. Detection involves monitoring for excessive CPU usage or performance degradation during regex filtering operations, especially with large network models. While no specific commands are provided, you can monitor CPU usage with standard tools like 'top' or 'htop' on Linux, or use Java profiling tools to detect long-running regex evaluations. Additionally, reviewing logs or code to find usage of Pattern.compile(regex).matcher(id).find() with unvalidated regex input can help identify vulnerable points. [2]


What immediate steps should I take to mitigate this vulnerability?

Immediate mitigation steps include upgrading to com.powsybl:powsybl-iidm-criteria version 6.7.2 or later, where the vulnerability is fixed by replacing the standard Java regex engine with the safer com.google.re2j.Pattern library that avoids ReDoS. Additionally, restrict or validate user-supplied regular expressions to prevent malicious patterns, and avoid allowing untrusted users to define regex criteria or control Identifiable object identifiers. Monitoring and limiting recursive or repeated calls to filter(...) can also reduce risk until the patch is applied. [1, 2]


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart