GHSA-xc79-566c-j4qx json
Parallax is vulnerable to DoS via malicious p2p message
published last yr. modified 8mo ago also GO-2025-4019
- cvss
- 7.5
- version 3.1, GitHub
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- —
- no score, EPSS covers CVEs only
- public exploits
- 0
- none known
Summary
### Impact
A vulnerable node can be made to consume very large amounts of memory when handling specially crafted p2p messages sent from an attacker node.
In order to carry out the attack, the attacker establishes a peer connections to the victim, and sends a malicious `GetBlockHeadersRequest` message with a `count` of `0`, using the `Parallax` protocol.
In `descendants := chain.GetHeadersFrom(num+count-1, count-1)`, the value of `count-1` is passed to the function `GetHeadersFrom(number, count uint64)` as parameter `count`. Due to integer overflow, `UINT64_MAX` value is then passed as the `count` argument to function `GetHeadersFrom(number, count uint64)`. This allows an attacker to bypass `maxHeadersServe` and request all headers from the latest block back to the genesis block.
### Patches
The fix has been included in the Parallax client version `0.1.4` and onwards.
The vulnerability was patched in: https://github.com/microstack-tech/parallax/commit/f759e9090aaf00a43c616d7cbd133c44bb1ed01e
### Workarounds
No workarounds have been made public.
### Credit
This issue was disclosed responsibly by DongHan Kim via the Ethereum bug bounty program, the cooperation is appreciated.
Patch / fix
- go github.com/microstack-tech/parallax 0.1.4
Is GHSA-xc79-566c-j4qx in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/microstack-tech/parallax | <0.1.4 |
0.1.4 |
Classification
- Weakness
-
- CWE-400 Uncontrolled Resource Consumption
References
-
github.com
/microstack-tech/parallax/commit/f759e9090aaf00a43c616d7cbd133c44bb1ed01e
web, patch
-
github.com
/microstack-tech/parallax/security/advisories/GHSA-xc79-566c-j4qx
web, advisory
-
github.com
/microstack-tech/parallax
package
-
github.com
/microstack-tech/parallax/releases/tag/v0.1.4
web
-
pkg.go.dev
/vuln/GO-2025-4019
web
Sources
- GitHub Advisory GHSA-xc79-566c-j4qx
- OSV GO-2025-4019
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.