« Volver al listado

CVE-2026-40094

Estado: AplazadaMedia (4.3)—

nimiq-blockchain provides persistent block storage for Nimiq's Rust implementation. In versions 1.3.0 and prior, network-libp2p discovery accepts signed PeerContact updates from untrusted peers and stores them in a peer contact book, eventually leading to address book crash. A PeerContact can legally contain an empty addresses list (no intrinsic validation enforces non-empty). Later, PeerContactBook::known_peers builds an address book by taking addresses.first().expect("every peer should have at least one address"). If the attacker has inserted a signed peer contact with addresses=[], any call to get_address_book (RPC/web client) can panic and crash the node/RPC task depending on panic settings. 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).

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-40094",
  "cveTags": [],
  "metrics": {
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2026-40094",
          "role": "CISA Coordinator",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "version": "2.0.3",
          "timestamp": "2026-05-21T12:21:08.211423Z"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "type": "Secondary",
        "source": "security-advisories@github.com",
        "cvssData": {
          "scope": "UNCHANGED",
          "version": "3.1",
          "baseScore": 4.3,
          "attackVector": "NETWORK",
          "baseSeverity": "MEDIUM",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L",
          "integrityImpact": "NONE",
          "userInteraction": "REQUIRED",
          "attackComplexity": "LOW",
          "availabilityImpact": "LOW",
          "privilegesRequired": "NONE",
          "confidentialityImpact": "NONE"
        },
        "impactScore": 1.4,
        "exploitabilityScore": 2.8
      }
    ]
  },
  "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.993",
  "references": [
    {
      "url": "https://github.com/nimiq/core-rs-albatross/pull/3715",
      "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-c45m-6x25-3cjq",
      "source": "security-advisories@github.com"
    }
  ],
  "vulnStatus": "Deferred",
  "weaknesses": [
    {
      "type": "Secondary",
      "source": "security-advisories@github.com",
      "description": [
        {
          "lang": "en",
          "value": "CWE-754"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "nimiq-blockchain provides persistent block storage for Nimiq's Rust implementation. In versions 1.3.0 and prior, network-libp2p discovery accepts signed PeerContact updates from untrusted peers and stores them in a peer contact book, eventually leading to address book crash. A PeerContact can legally contain an empty addresses list (no intrinsic validation enforces non-empty). Later, PeerContactBook::known_peers builds an address book by taking addresses.first().expect(\"every peer should have at least one address\"). If the attacker has inserted a signed peer contact with addresses=[], any call to get_address_book (RPC/web client) can panic and crash the node/RPC task depending on panic settings. 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 y anteriores, el descubrimiento de network-libp2p acepta actualizaciones firmadas de PeerContact de pares no confiables y las almacena en una libreta de contactos de pares, lo que finalmente lleva a un fallo de la libreta de direcciones. Un PeerContact puede contener legalmente una lista de direcciones vacía (ninguna validación intrínseca exige que no esté vacía). Posteriormente, PeerContactBook::known_peers construye una libreta de direcciones tomando addresses.first().expect('cada par debería tener al menos una dirección'). Si el atacante ha insertado un contacto de par firmado con addresses=[], cualquier llamada a get_address_book (RPC/cliente web) puede entrar en pánico y bloquear el nodo/la tarea RPC dependiendo de la configuración de 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"
}