CVE-2026-102946

Estado: AplazadaCrítica (9.1)—
Gravedad9.1Crítica · CVSS 3.1
Probabilidad de explotación0.12 %mayor que el 2 % de las CVE
Explotación activaNono figura en el catálogo de CISA
Exploit públicoNo conocidosin código público localizado

joserfc es una biblioteca de Python que proporciona una implementación de varios estándares de firma y cifrado de objetos JSON (JOSE). Antes de la versión 1.7.4, joserfc.jws.deserialize_json() acepta una serialización JSON general de JWS con un array signatures vacío como autenticado. El bucle de verify_general_json() no realiza ninguna iteración con el array vacío y devuelve éxito porque no ha fallado ninguna comprobación de firma, lo que permite a un atacante sin clave de firma proporcionar una carga útil arbitraria que las aplicaciones dependientes podrían tratar como auténtica.

Leer descripción completaMostrar menos

El problema afecta a la ruta de la serialización JSON general; la decodificación de JWS compacto y de JWT, la serialización JSON aplanada y el procesamiento de JWE JSON no siguen esta ruta vulnerable. Este problema está corregido en la versión 1.7.4.

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

CVSS

Puntuación base
9.1
Versión
3.1
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

Probabilidad de explotación (EPSS)

Probabilidad de explotación en los próximos 30 días
0.12 %
Percentil entre todas las CVEs puntuadas
2
Fecha de la puntuación
20/10/2026

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 AV:N/PR:N/UI:N; un JWS con array de firmas vacío se acepta como autenticado, permitiendo payloads arbitrarios sin clave (bypass de verificación de firma).

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

Mostrar las 4 referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-102946",
  "cveTags": [],
  "metrics": {
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2026-102946",
          "role": "CISA Coordinator",
          "options": [
            {
              "exploitation": "poc"
            },
            {
              "automatable": "yes"
            },
            {
              "technicalImpact": "total"
            }
          ],
          "version": "2.0.3",
          "timestamp": "2026-10-15T19:52:38.661517Z"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "type": "Secondary",
        "source": "security-advisories@github.com",
        "cvssData": {
          "scope": "UNCHANGED",
          "version": "3.1",
          "baseScore": 9.1,
          "attackVector": "NETWORK",
          "baseSeverity": "CRITICAL",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N",
          "integrityImpact": "HIGH",
          "userInteraction": "NONE",
          "attackComplexity": "LOW",
          "availabilityImpact": "NONE",
          "privilegesRequired": "NONE",
          "confidentialityImpact": "HIGH"
        },
        "impactScore": 5.2,
        "exploitabilityScore": 3.9
      }
    ]
  },
  "affected": [
    {
      "source": "security-advisories@github.com",
      "affectedData": [
        {
          "vendor": "authlib",
          "product": "joserfc",
          "versions": [
            {
              "status": "affected",
              "version": "< 1.7.4"
            }
          ]
        }
      ]
    }
  ],
  "published": "2026-10-15T19:17:13.423",
  "references": [
    {
      "url": "https://github.com/authlib/joserfc/commit/f409f8f058225d7686acab6546c94593e4c1bfbe",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/authlib/joserfc/releases/tag/1.7.4",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/authlib/joserfc/security/advisories/GHSA-4pp3-559j-c5c2",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/authlib/joserfc/security/advisories/GHSA-4pp3-559j-c5c2",
      "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"
    }
  ],
  "vulnStatus": "Deferred",
  "weaknesses": [
    {
      "type": "Secondary",
      "source": "security-advisories@github.com",
      "description": [
        {
          "lang": "en",
          "value": "CWE-290"
        },
        {
          "lang": "en",
          "value": "CWE-345"
        },
        {
          "lang": "en",
          "value": "CWE-347"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "joserfc is a Python library that provides an implementation of several JSON Object Signing and Encryption (JOSE) standards. Prior to 1.7.4, joserfc.jws.deserialize_json() accepts a JWS General JSON Serialization with an empty signatures array as authenticated. The verify_general_json() loop performs no iterations for the empty array and returns success because no signature check failed, allowing an attacker without a signing key to supply an arbitrary payload that relying applications may treat as authentic. The issue affects the General JSON Serialization path; compact JWS and JWT decoding, Flattened JSON serialization, and JWE JSON processing do not follow this vulnerable path. This issue is fixed in version 1.7.4."
    }
  ],
  "lastModified": "2026-10-15T20:17:05.407",
  "sourceIdentifier": "security-advisories@github.com"
}