CVE-2026-64314
Full vulnerability record from the local CVENow database.
Description
In the Linux kernel, the following vulnerability has been resolved: crypto: chacha20poly1305 - validate poly1305 template argument chachapoly_create() still accepts the compatibility poly1305 parameter in the template name, but it assumes the second template argument is always present and immediately passes it to strcmp(). When the argument is missing, crypto_attr_alg_name() returns an error pointer. Check for that before comparing the name so malformed template instantiations fail with an error instead of dereferencing the error pointer in strcmp(). This matches the surrounding Crypto API template pattern where crypto_attr_alg_name() results are validated before string-specific use.
View original CVE JSON
{
"id": "CVE-2026-64314",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2026-07-25T10:17:12.647",
"lastModified": "2026-10-24T13:10:00.147",
"vulnStatus": "Analyzed",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\ncrypto: chacha20poly1305 - validate poly1305 template argument\n\nchachapoly_create() still accepts the compatibility poly1305 parameter\nin the template name, but it assumes the second template argument is\nalways present and immediately passes it to strcmp().\n\nWhen the argument is missing, crypto_attr_alg_name() returns an error\npointer. Check for that before comparing the name so malformed template\ninstantiations fail with an error instead of dereferencing the error\npointer in strcmp().\n\nThis matches the surrounding Crypto API template pattern where\ncrypto_attr_alg_name() results are validated before string-specific use."
},
{
"lang": "es",
"value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\ncrypto: chacha20poly1305 - validar argumento de plantilla poly1305\n\nchachapoly_create() aún acepta el parámetro de compatibilidad poly1305 en el nombre de la plantilla, pero asume que el segundo argumento de plantilla siempre está presente y lo pasa inmediatamente a strcmp().\n\nCuando falta el argumento, crypto_attr_alg_name() devuelve un puntero de error. Comprobar eso antes de comparar el nombre para que las instanciaciones de plantilla mal formadas fallen con un error en lugar de desreferenciar el puntero de error en strcmp().\n\nEsto coincide con el patrón de plantilla de la API de Criptografía circundante donde los resultados de crypto_attr_alg_name() se validan antes de su uso específico de cadena."
}
],
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "unaffected",
"programFiles": [
"crypto/chacha20poly1305.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "a298765e28adaea199f722142c10dae7e24dedf8",
"lessThan": "0016d3c21c6ab60a20be7f565cefb5999f3adeb6",
"versionType": "git",
"status": "affected"
},
{
"version": "a298765e28adaea199f722142c10dae7e24dedf8",
"lessThan": "e74df53b36cdc6b6b9e5488ec883d1d55624737f",
"versionType": "git",
"status": "affected"
},
{
"version": "a298765e28adaea199f722142c10dae7e24dedf8",
"lessThan": "265b861bece38318b8e0fc8fac0643d4ef906d31",
"versionType": "git",
"status": "affected"
}
]
},
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "affected",
"programFiles": [
"crypto/chacha20poly1305.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "6.16",
"status": "affected"
},
{
"version": "0",
"lessThan": "6.16",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.18.39",
"lessThanOrEqual": "6.18.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.1.4",
"lessThanOrEqual": "7.1.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.2",
"lessThanOrEqual": "*",
"versionType": "original_commit_for_fix",
"status": "unaffected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Primary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
"baseScore": 5.5,
"baseSeverity": "MEDIUM",
"attackVector": "LOCAL",
"attackComplexity": "LOW",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 1.8,
"impactScore": 3.6
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Primary",
"description": [
{
"lang": "en",
"value": "CWE-476"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "6.16",
"versionEndExcluding": "6.18.39",
"matchCriteriaId": "FFBD7467-7FB0-4538-9CC0-98199E9EC402"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "6.19",
"versionEndExcluding": "7.1.4",
"matchCriteriaId": "6228DDD6-4557-4AA3-9F43-AB995D471E42"
}
]
}
]
}
],
"references": [
{
"url": "https://git.kernel.org/stable/c/0016d3c21c6ab60a20be7f565cefb5999f3adeb6",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
]
},
{
"url": "https://git.kernel.org/stable/c/265b861bece38318b8e0fc8fac0643d4ef906d31",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
]
},
{
"url": "https://git.kernel.org/stable/c/e74df53b36cdc6b6b9e5488ec883d1d55624737f",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
]
}
]
}