« Volver al listado

CVE-2026-40092

Estado: AplazadaAlta (7.5)—

nimiq-blockchain provides persistent block storage for Nimiq's Rust implementation. In versions 1.3.0 and below, a malicious network peer can crash any Nimiq full node by publishing a crafted Kademlia DHT record. The maliciously crafted record would contain a TaggedSigned<ValidatorRecord, KeyPair> with a signature field whose byte length is not exactly 64 in order to cause a crash. When the victim node's DHT verifier calls TaggedSigned::verify, execution reaches Ed25519Signature::from_bytes(sig).unwrap() in the TaggedPublicKey implementation for Ed25519PublicKey.

Leer descripción completaMostrar menos

The from_bytes call fails because ed25519_zebra::Signature::try_from rejects slices not 64 bytes, and the unwrap() panics. The BLS TaggedPublicKey implementation correctly returns false on error; only the Ed25519 implementation panics. This issue has been fixed in version 1.4.0.

CVSS

Probabilidad de explotación (EPSS)

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

🎯 Técnicas ATT&CK

Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.

Vulnerabilidad de red sin autenticación (AV:N, PR:N, UI:N) en nodo blockchain remoto. Peer malicioso envía registro DHT manipulado causando pánico/crash (DoS de aplicación). CWE-252 (falta de manejo de error) + crash confirmado = T1499.004.

Inferido por nuestro agente de análisis a partir de la descripción oficial, el vector CVSS y la CWE, y comprobado por un supervisor. Puede contener errores.

🛡️ Mitigaciones ATT&CK que cubren estas técnicas

Tecnologías afectadas (1)

⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.

CWE

Referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-40092",
  "cveTags": [],
  "metrics": {
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2026-40092",
          "role": "CISA Coordinator",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "yes"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "version": "2.0.3",
          "timestamp": "2026-05-21T12:23:05.311120Z"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "type": "Secondary",
        "source": "security-advisories@github.com",
        "cvssData": {
          "scope": "UNCHANGED",
          "version": "3.1",
          "baseScore": 7.5,
          "attackVector": "NETWORK",
          "baseSeverity": "HIGH",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
          "integrityImpact": "NONE",
          "userInteraction": "NONE",
          "attackComplexity": "LOW",
          "availabilityImpact": "HIGH",
          "privilegesRequired": "NONE",
          "confidentialityImpact": "NONE"
        },
        "impactScore": 3.6,
        "exploitabilityScore": 3.9
      }
    ]
  },
  "affected": [
    {
      "source": "security-advisories@github.com",
      "affectedData": [
        {
          "vendor": "nimiq",
          "product": "core-rs-albatross",
          "versions": [
            {
              "status": "affected",
              "version": "< 1.4.0"
            }
          ]
        }
      ]
    }
  ],
  "published": "2026-05-20T22:16:36.850",
  "references": [
    {
      "url": "https://github.com/nimiq/core-rs-albatross/commit/807ee8e99a7ccdc604d49971f292854bfa36754d",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/nimiq/core-rs-albatross/pull/3708",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/nimiq/core-rs-albatross/releases/tag/v1.4.0",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/nimiq/core-rs-albatross/security/advisories/GHSA-27w2-87xv-37c6",
      "source": "security-advisories@github.com"
    }
  ],
  "vulnStatus": "Deferred",
  "weaknesses": [
    {
      "type": "Secondary",
      "source": "security-advisories@github.com",
      "description": [
        {
          "lang": "en",
          "value": "CWE-252"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "nimiq-blockchain provides persistent block storage for Nimiq's Rust implementation. In versions 1.3.0 and below, a malicious network peer can crash any Nimiq full node by publishing a crafted Kademlia DHT record. The maliciously crafted record would contain a TaggedSigned<ValidatorRecord, KeyPair> with a signature field whose byte length is not exactly 64 in order to cause a crash. When the victim node's DHT verifier calls TaggedSigned::verify, execution reaches Ed25519Signature::from_bytes(sig).unwrap() in the TaggedPublicKey implementation for Ed25519PublicKey. The from_bytes call fails because ed25519_zebra::Signature::try_from rejects slices not 64 bytes, and the unwrap() panics. The BLS TaggedPublicKey implementation correctly returns false on error; only the Ed25519 implementation panics. This issue has been fixed in version 1.4.0."
    },
    {
      "lang": "es",
      "value": "nimiq-blockchain proporciona almacenamiento persistente de bloques para la implementación en Rust de Nimiq. En las versiones 1.3.0 e inferiores, un par de red malicioso puede colapsar cualquier nodo completo de Nimiq publicando un registro DHT de Kademlia manipulado. El registro manipulado maliciosamente contendría un TaggedSigned<ValidatorRecord, KeyPair> con un campo de firma cuya longitud en bytes no es exactamente 64 para causar un colapso. Cuando el verificador DHT del nodo víctima llama a TaggedSigned::verify, la ejecución llega a Ed25519Signature::from_bytes(sig).unwrap() en la implementación de TaggedPublicKey para Ed25519PublicKey. La llamada a from_bytes falla porque ed25519_zebra::Signature::try_from rechaza segmentos que no tienen 64 bytes, y el unwrap() entra en pánico. La implementación BLS de TaggedPublicKey devuelve correctamente 'false' en caso de error; solo la implementación de Ed25519 entra en pánico. Este problema ha sido solucionado en la versión 1.4.0."
    }
  ],
  "lastModified": "2026-07-23T15:10:00.137",
  "sourceIdentifier": "security-advisories@github.com"
}