GHSA-j99g-7rqw-q9jg

Suggest an improvement
Source
https://github.com/advisories/GHSA-j99g-7rqw-q9jg
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/04/GHSA-j99g-7rqw-q9jg/GHSA-j99g-7rqw-q9jg.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-j99g-7rqw-q9jg
Aliases
Published
2026-04-22T19:23:55Z
Modified
2026-05-05T16:10:37Z
Severity
  • 5.3 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H CVSS Calculator
Summary
nimiq-blockchain: Peer-triggerable panic during history sync
Details

Impact

HistoryStore::put_historic_txns uses an assert! to enforce invariants about HistoricTransaction.block_number (must be within the macro block being pushed and within the same epoch). During history sync, a peer can influence the history: &[HistoricTransaction] input passed into Blockchain::push_history_sync, and a malformed history list can violate these invariants and trigger a panic.

extend_history_sync calls this.history_store.add_to_history(..) before comparing the computed history root against the macro block header (block.history_root()), so the panic can happen before later rejection checks run.

Patches

The patch for this vulnerability is included as part of v1.3.0.

Workarounds

No known workarounds.

Database specific
{
    "cwe_ids":  [
        "CWE-20",
        "CWE-617",
        "CWE-754"
    ],
    "github_reviewed":  true,
    "github_reviewed_at":  "2026-04-22T19:23:55Z",
    "nvd_published_at":  "2026-04-22T20:16:41Z",
    "severity":  "MODERATE"
}
References

Affected packages

crates.io / nimiq-blockchain

Package

Name
nimiq-blockchain
View open source insights on deps.dev
Purl
pkg:cargo/nimiq-blockchain

Affected ranges

Type
SEMVER
Events
Introduced
0 Unknown introduced version / All previous versions are affected
Last Affected
0.2.0

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/04/GHSA-j99g-7rqw-q9jg/GHSA-j99g-7rqw-q9jg.json"