« Volver al listado

CVE-2026-104380

Estado: AplazadaMedia (5.3)—

Las versiones de Punk desde la 0.48 y anteriores a la 0.55 para Perl enrutan las solicitudes Extended CONNECT a cualquier ruta GET sin una comprobación de Origin en ps_serve_one.

En HTTP/2 y HTTP/3, un handshake de WebSocket llega como un Extended CONNECT, que se trata como un GET y, por tanto, alcanza todas las rutas GET, operaciones de API y montajes. La comprobación de Origin solo se ejecuta cuando coincide una ruta websocket. En este transporte, el estado del manejador es la respuesta del handshake, y un 2xx lo acepta.

Una página de origen cruzado puede abrir un WebSocket a cualquier ruta y averiguar, por su evento open o error, si esa ruta devuelve 2xx.

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.

Inferido por reglas deterministas a partir del vector CVSS y la CWE. Solo orientativo.

🛡️ 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-104380",
  "cveTags": [],
  "metrics": {
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2026-104380",
          "role": "CISA Coordinator",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "yes"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "version": "2.0.3",
          "timestamp": "2026-10-06T13:14:06.093601Z"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "type": "Secondary",
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "cvssData": {
          "scope": "UNCHANGED",
          "version": "3.1",
          "baseScore": 5.3,
          "attackVector": "NETWORK",
          "baseSeverity": "MEDIUM",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N",
          "integrityImpact": "NONE",
          "userInteraction": "NONE",
          "attackComplexity": "LOW",
          "availabilityImpact": "NONE",
          "privilegesRequired": "NONE",
          "confidentialityImpact": "LOW"
        },
        "impactScore": 1.4,
        "exploitabilityScore": 3.9
      }
    ]
  },
  "affected": [
    {
      "source": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
      "affectedData": [
        {
          "modules": [
            "Punk"
          ],
          "versions": [
            {
              "status": "affected",
              "version": "0.48",
              "lessThan": "0.55",
              "versionType": "custom"
            }
          ],
          "packageURL": "pkg:cpan/Punk",
          "packageName": "Punk",
          "programFiles": [
            "include/punk/punk_serve.h"
          ],
          "collectionURL": "https://cpan.org/modules",
          "defaultStatus": "unaffected",
          "programRoutines": [
            {
              "name": "ps_serve_one"
            }
          ]
        }
      ]
    }
  ],
  "published": "2026-10-06T02:17:03.910",
  "references": [
    {
      "url": "https://metacpan.org/release/LNATION/Punk-0.55/changes",
      "source": "9b29abf9-4ab0-4765-b253-1875cd9b441e"
    },
    {
      "url": "https://metacpan.org/release/LNATION/Punk-0.55/diff/LNATION/Punk-0.54",
      "source": "9b29abf9-4ab0-4765-b253-1875cd9b441e"
    },
    {
      "url": "http://www.openwall.com/lists/oss-security/2026/10/06/1",
      "source": "af854a3a-2127-422b-91ae-364da2661108"
    }
  ],
  "vulnStatus": "Deferred",
  "weaknesses": [
    {
      "type": "Secondary",
      "source": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
      "description": [
        {
          "lang": "en",
          "value": "CWE-1385"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "Punk versions from 0.48 before 0.55 for Perl route Extended CONNECT requests to any GET route without an Origin check in ps_serve_one.\n\nOn HTTP/2 and HTTP/3 a WebSocket handshake arrives as an Extended CONNECT, which is matched as a GET and so reaches every GET route, API operation and mount. The Origin check runs only when a websocket route matches. On this transport the handler's status is the handshake response, and a 2xx accepts it.\n\nA cross-origin page can open a WebSocket to any path and learn from its open or error event whether that path returns 2xx."
    }
  ],
  "lastModified": "2026-10-06T15:03:59.427",
  "sourceIdentifier": "9b29abf9-4ab0-4765-b253-1875cd9b441e"
}