« Volver al listado

CVE-2026-5759

Estado: AplazadaCrítica (9.3)—

Una vulnerabilidad de doble liberación y de uso tras liberación en la función RdbLoadDeletedNodes del decodificador de gráficos RDB (src/serializers/decoders/*/decode_graph_entities.c) en FalkorDB anterior a 4.18.1 permite que un atacante remoto que pueda emitir comandos de replicación Redis (por ejemplo, contra una instancia sin contraseña configurada) provoque una denegación de servicio o ejecute código arbitrario en el proceso redis-server proporcionando un flujo RDB manipulado cuya longitud del búfer de nodos eliminados no es un múltiplo de sizeof(NodeID). La verificación de longitud se basa en ASSERT(), que se compila en compilaciones de liberación, por lo que la función continúa después de liberar el búfer, leyéndolo y liberándolo una segunda vez.

Traducción automática del texto original de NVD (en inglés).

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.

Vector N/AC:L/PR:N permite explotación remota sin privilegios contra FalkorDB; double-free/use-after-free permite ejecución arbitraria o DoS en redis-server.

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-5759",
  "cveTags": [],
  "metrics": {
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2026-5759",
          "role": "CISA Coordinator",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "yes"
            },
            {
              "technicalImpact": "total"
            }
          ],
          "version": "2.0.3",
          "timestamp": "2026-10-13T15:28:40.207197Z"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "type": "Secondary",
        "source": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
        "cvssData": {
          "scope": "UNCHANGED",
          "version": "3.1",
          "baseScore": 9.8,
          "attackVector": "NETWORK",
          "baseSeverity": "CRITICAL",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
          "integrityImpact": "HIGH",
          "userInteraction": "NONE",
          "attackComplexity": "LOW",
          "availabilityImpact": "HIGH",
          "privilegesRequired": "NONE",
          "confidentialityImpact": "HIGH"
        },
        "impactScore": 5.9,
        "exploitabilityScore": 3.9
      }
    ],
    "cvssMetricV40": [
      {
        "type": "Secondary",
        "source": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
        "cvssData": {
          "Safety": "NOT_DEFINED",
          "version": "4.0",
          "Recovery": "NOT_DEFINED",
          "baseScore": 9.3,
          "Automatable": "NOT_DEFINED",
          "attackVector": "NETWORK",
          "baseSeverity": "CRITICAL",
          "valueDensity": "NOT_DEFINED",
          "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
          "exploitMaturity": "NOT_DEFINED",
          "providerUrgency": "NOT_DEFINED",
          "userInteraction": "NONE",
          "attackComplexity": "LOW",
          "attackRequirements": "NONE",
          "privilegesRequired": "NONE",
          "subIntegrityImpact": "NONE",
          "vulnIntegrityImpact": "HIGH",
          "integrityRequirement": "NOT_DEFINED",
          "modifiedAttackVector": "NOT_DEFINED",
          "subAvailabilityImpact": "NONE",
          "vulnAvailabilityImpact": "HIGH",
          "availabilityRequirement": "NOT_DEFINED",
          "modifiedUserInteraction": "NOT_DEFINED",
          "modifiedAttackComplexity": "NOT_DEFINED",
          "subConfidentialityImpact": "NONE",
          "vulnConfidentialityImpact": "HIGH",
          "confidentialityRequirement": "NOT_DEFINED",
          "modifiedAttackRequirements": "NOT_DEFINED",
          "modifiedPrivilegesRequired": "NOT_DEFINED",
          "modifiedSubIntegrityImpact": "NOT_DEFINED",
          "modifiedVulnIntegrityImpact": "NOT_DEFINED",
          "vulnerabilityResponseEffort": "NOT_DEFINED",
          "modifiedSubAvailabilityImpact": "NOT_DEFINED",
          "modifiedVulnAvailabilityImpact": "NOT_DEFINED",
          "modifiedSubConfidentialityImpact": "NOT_DEFINED",
          "modifiedVulnConfidentialityImpact": "NOT_DEFINED"
        }
      }
    ]
  },
  "affected": [
    {
      "source": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
      "affectedData": [
        {
          "cpes": [
            "cpe:2.3:a:falkordb:falkordb:*:*:*:*:*:*:*:*"
          ],
          "repo": "https://github.com/FalkorDB/FalkorDB",
          "vendor": "FalkorDB",
          "modules": [
            "RDB serializer / graph decoder"
          ],
          "product": "FalkorDB",
          "versions": [
            {
              "status": "affected",
              "version": "0",
              "lessThan": "4.18.1",
              "versionType": "semver"
            }
          ],
          "programFiles": [
            "src/serializers/decoders/current/v19/decode_graph_entities.c",
            "src/serializers/decoders/prev/v18/decode_graph_entities.c",
            "src/serializers/decoders/prev/v17/decode_graph_entities.c"
          ],
          "collectionURL": "https://github.com/FalkorDB/FalkorDB",
          "defaultStatus": "unaffected",
          "programRoutines": [
            {
              "name": "RdbLoadDeletedNodes_v17"
            },
            {
              "name": "RdbLoadDeletedNodes_v18"
            },
            {
              "name": "RdbLoadDeletedNodes_v19"
            }
          ]
        }
      ]
    }
  ],
  "published": "2026-10-09T05:16:44.920",
  "references": [
    {
      "url": "https://github.com/FalkorDB/FalkorDB/commit/523d98ac7ffe99f11a9c95c258025c235f0dff4c",
      "source": "33c584b5-0579-4c06-b2a0-8d8329fcab9c"
    },
    {
      "url": "https://github.com/FalkorDB/FalkorDB/pull/1843",
      "source": "33c584b5-0579-4c06-b2a0-8d8329fcab9c"
    },
    {
      "url": "https://github.com/FalkorDB/FalkorDB/releases/tag/v4.18.1",
      "source": "33c584b5-0579-4c06-b2a0-8d8329fcab9c"
    }
  ],
  "vulnStatus": "Deferred",
  "weaknesses": [
    {
      "type": "Secondary",
      "source": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
      "description": [
        {
          "lang": "en",
          "value": "CWE-415"
        },
        {
          "lang": "en",
          "value": "CWE-416"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "A double free and use-after-free vulnerability in the RdbLoadDeletedNodes function of the RDB graph decoders (src/serializers/decoders/*/decode_graph_entities.c) in FalkorDB before 4.18.1 allows a remote attacker who can issue Redis replication commands (for example, against an instance with no password configured) to cause a denial of service or execute arbitrary code in the redis-server process by supplying a crafted RDB stream whose deleted-nodes buffer length is not a multiple of sizeof(NodeID). The length check relies on ASSERT(), which is compiled out in release builds, so the function continues after freeing the buffer, reading it and freeing it a second time."
    }
  ],
  "lastModified": "2026-10-13T18:17:25.287",
  "sourceIdentifier": "33c584b5-0579-4c06-b2a0-8d8329fcab9c"
}