powsybl/powsybl-core · Security
PowSyBl Core allows deserialization of untrusted SparseMatrix data
- GHSA ID
- GHSA-f5cx-h789-j959
- CVE ID
- CVE-2025-47771
- Severity
- high
- Published
- Updated
- CVSS v4
- 8.1 · CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:U
Description
Impact
What kind of vulnerability is it? Who is impacted?
This is a disclosure for a security vulnerability in the SparseMatrix class. The vulnerability is a deserialization issue that
can lead to a wide range of privilege escalations depending on the circumstances. The problematic area is the read method
of the SparseMatrix class.
This method takes in an InputStream and returns a SparseMatrix object. We consider this to be a method that can be
exposed to untrusted input in at least two use cases:
- A user can adopt this method in an application where users can submit an
InputStreamand the application parses it into aSparseMatrix. This can be a multi-tenant application that hosts many different users perhaps with different privilege levels. - A user adopts the method for a local tool but receives the
InputStreamfrom external sources.
Am I impacted?
You are vulnerable if you import non-controlled serialized SparseMatrix objects.
Patches
com.powsybl:powsybl-math:6.7.2 and higher
Workarounds
Is there a way for users to fix or remediate the vulnerability without upgrading?
Do not use SparseMatrix deserialization (SparseMatrix.read(...) methods).
References
CWEs
- CWE-502 · Deserialization of Untrusted Data
References
- https://github.com/powsybl/powsybl-core/security/advisories/GHSA-f5cx-h789-j959 ↗
- https://github.com/powsybl/powsybl-core/commit/8ed16ce41683c4aef5f6aa1dd5ae8642aa5ed2bd ↗
- https://github.com/powsybl/powsybl-core/releases/tag/v6.7.2 ↗
- https://nvd.nist.gov/vuln/detail/CVE-2025-47771 ↗
- https://github.com/advisories/GHSA-f5cx-h789-j959 ↗