PowSyBl Core allows deserialization of untrusted SparseMatrix data
🔗 CVE IDs covered (1)
📋 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
🎯 Affected products1
- maven/com.powsybl:powsybl-math:>= 6.3.0, <= 6.7.1
🔗 References (5)
- 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