CVE-2026-34066
Full vulnerability record from the local CVENow database.
Description
nimiq-blockchain provides persistent block storage for Nimiq's Rust implementation. Prior to version 1.3.0, `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. The patch for this vulnerability is included as part of v1.3.0. No known workarounds are available.
View original CVE JSON
{
"id": "CVE-2026-34066",
"sourceIdentifier": "[email protected]",
"published": "2026-04-22T20:16:41.237",
"lastModified": "2026-10-26T21:10:00.170",
"vulnStatus": "Analyzed",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "nimiq-blockchain provides persistent block storage for Nimiq's Rust implementation. Prior to version 1.3.0, `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. The patch for this vulnerability is included as part of v1.3.0. No known workarounds are available."
},
{
"lang": "es",
"value": "nimiq-blockchain proporciona almacenamiento persistente de bloques para la implementación en Rust de Nimiq. Antes de la versión 1.3.0, ’HistoryStore::put_historic_txns’ utiliza un ’assert!’ para hacer cumplir invariantes sobre ’HistoricTransaction.block_number’ (debe estar dentro del macrobloque que se está insertando y dentro de la misma época). Durante la sincronización del historial, un par puede influir en la entrada ’history: &[HistoricTransaction]’ pasada a ’Blockchain::push_history_sync’, y una lista de historial malformada puede violar estas invariantes y desencadenar un pánico. ’extend_history_sync’ llama a ’this.history_store.add_to_history(..)’ antes de comparar la raíz del historial calculada con la cabecera del macrobloque (’block.history_root()’), por lo que el pánico puede ocurrir antes de que se ejecuten las comprobaciones de rechazo posteriores. El parche para esta vulnerabilidad está incluido como parte de la v1.3.0. No se conocen soluciones alternativas disponibles."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "nimiq",
"product": "nimiq-blockchain",
"versions": [
{
"version": "< 1.3.0",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H",
"baseScore": 5.3,
"baseSeverity": "MEDIUM",
"attackVector": "NETWORK",
"attackComplexity": "HIGH",
"privilegesRequired": "NONE",
"userInteraction": "REQUIRED",
"scope": "UNCHANGED",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 1.6,
"impactScore": 3.6
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-04-23T12:56:55.597573Z",
"id": "CVE-2026-34066",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-20"
},
{
"lang": "en",
"value": "CWE-617"
},
{
"lang": "en",
"value": "CWE-754"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:nimiq:nimiq_proof-of-stake:*:*:*:*:*:rust:*:*",
"versionEndExcluding": "1.3.0",
"matchCriteriaId": "CD0CAAD1-7626-4A4A-A6F8-9DC46FE50731"
}
]
}
]
}
],
"references": [
{
"url": "https://github.com/nimiq/core-rs-albatross/commit/6f5511309c199d84b012fe6b9aba7e5582892c50",
"source": "[email protected]",
"tags": [
"Patch"
]
},
{
"url": "https://github.com/nimiq/core-rs-albatross/pull/3656",
"source": "[email protected]",
"tags": [
"Issue Tracking",
"Patch"
]
},
{
"url": "https://github.com/nimiq/core-rs-albatross/releases/tag/v1.3.0",
"source": "[email protected]",
"tags": [
"Release Notes"
]
},
{
"url": "https://github.com/nimiq/core-rs-albatross/security/advisories/GHSA-j99g-7rqw-q9jg",
"source": "[email protected]",
"tags": [
"Patch",
"Vendor Advisory"
]
}
]
}