CVE-2024-21491
Versions of the package svix before 1.17.0 are vulnerable to Authentication Bypass due to an issue in the verify function where signatures of different lengths are incorrectly compared. An attacker can bypass signature verification by providing a shorter signature that matches the beginning of the actual signature.
**Note:**
The attacker would need to know a victim uses the Rust library for verification,no easy way to automatically check that; and uses webhooks by a service that uses Svix, and then figure out a way to craft a malicious payload that will actually include all of the correct identifiers needed to trick the receivers to cause actual issues.
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
- Puntuación base: 6.5
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.41%
- Percentil entre todas las CVEs puntuadas: 33
- Fecha de la puntuación: 6/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).
Tecnologías afectadas (1)
CWE
- CWE-288
- CWE-347
- CWE-288
Referencias
- https://github.com/svix/svix-webhooks/commit/958821bd3b956d1436af65f70a0964d4ffb7daf6
- https://github.com/svix/svix-webhooks/pull/1190
- https://rustsec.org/advisories/RUSTSEC-2024-0010.html
- https://security.snyk.io/vuln/SNYK-RUST-SVIX-6230729
- https://github.com/svix/svix-webhooks/commit/958821bd3b956d1436af65f70a0964d4ffb7daf6
- https://github.com/svix/svix-webhooks/pull/1190
- https://rustsec.org/advisories/RUSTSEC-2024-0010.html
- https://security.snyk.io/vuln/SNYK-RUST-SVIX-6230729
JSON original (NVD)
Mostrar
{
"id": "CVE-2024-21491",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2024-21491",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "poc"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2024-02-21T20:12:36.693619Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "report@snyk.io",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 5.9,
"attackVector": "NETWORK",
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:H/A:N",
"integrityImpact": "HIGH",
"userInteraction": "REQUIRED",
"attackComplexity": "HIGH",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "LOW"
},
"impactScore": 4.2,
"exploitabilityScore": 1.6
},
{
"type": "Primary",
"source": "nvd@nist.gov",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 6.5,
"attackVector": "NETWORK",
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N",
"integrityImpact": "HIGH",
"userInteraction": "REQUIRED",
"attackComplexity": "LOW",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "NONE"
},
"impactScore": 3.6,
"exploitabilityScore": 2.8
}
]
},
"affected": [
{
"source": "report@snyk.io",
"affectedData": [
{
"vendor": "n/a",
"product": "svix",
"versions": [
{
"status": "affected",
"version": "0",
"lessThan": "1.17.0",
"versionType": "semver"
}
]
}
]
}
],
"published": "2024-02-13T05:15:08.873",
"references": [
{
"url": "https://github.com/svix/svix-webhooks/commit/958821bd3b956d1436af65f70a0964d4ffb7daf6",
"tags": [
"Patch"
],
"source": "report@snyk.io"
},
{
"url": "https://github.com/svix/svix-webhooks/pull/1190",
"tags": [
"Patch"
],
"source": "report@snyk.io"
},
{
"url": "https://rustsec.org/advisories/RUSTSEC-2024-0010.html",
"tags": [
"Third Party Advisory"
],
"source": "report@snyk.io"
},
{
"url": "https://security.snyk.io/vuln/SNYK-RUST-SVIX-6230729",
"tags": [
"Third Party Advisory"
],
"source": "report@snyk.io"
},
{
"url": "https://github.com/svix/svix-webhooks/commit/958821bd3b956d1436af65f70a0964d4ffb7daf6",
"tags": [
"Patch"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://github.com/svix/svix-webhooks/pull/1190",
"tags": [
"Patch"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://rustsec.org/advisories/RUSTSEC-2024-0010.html",
"tags": [
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://security.snyk.io/vuln/SNYK-RUST-SVIX-6230729",
"tags": [
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
}
],
"vulnStatus": "Modified",
"weaknesses": [
{
"type": "Secondary",
"source": "report@snyk.io",
"description": [
{
"lang": "en",
"value": "CWE-288"
}
]
},
{
"type": "Primary",
"source": "nvd@nist.gov",
"description": [
{
"lang": "en",
"value": "CWE-347"
}
]
},
{
"type": "Secondary",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"description": [
{
"lang": "en",
"value": "CWE-288"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Versions of the package svix before 1.17.0 are vulnerable to Authentication Bypass due to an issue in the verify function where signatures of different lengths are incorrectly compared. An attacker can bypass signature verification by providing a shorter signature that matches the beginning of the actual signature.\r\r**Note:**\r\rThe attacker would need to know a victim uses the Rust library for verification,no easy way to automatically check that; and uses webhooks by a service that uses Svix, and then figure out a way to craft a malicious payload that will actually include all of the correct identifiers needed to trick the receivers to cause actual issues."
},
{
"lang": "es",
"value": "Las versiones del paquete svix anteriores a la 1.17.0 son vulnerables a la omisión de autenticación debido a un problema en la función de verificación donde las firmas de diferentes longitudes se comparan incorrectamente. Un atacante puede eludir la verificación de firma proporcionando una firma más corta que coincida con el comienzo de la firma real. **Nota:** El atacante necesitaría saber que la víctima usa la librería Rust para la verificación, no hay una manera fácil de verificarlo automáticamente; y utiliza webhooks de un servicio que utiliza Svix, y luego encuentra una manera de crear una carga útil maliciosa que en realidad incluirá todos los identificadores correctos necesarios para engañar a los receptores y causar problemas reales."
}
],
"lastModified": "2026-06-17T07:09:36.273",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:svix:svix-webhooks:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "1748F9E0-E919-496F-BD6E-8A0787D334D7",
"versionEndExcluding": "1.17.0"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "report@snyk.io"
}