The HMAC implementation (crypto/hmac.c) in the Linux kernel before 4.14.8 does not validate that the underlying cryptographic hash algorithm is unkeyed, allowing a local attacker able to use the AFALG-based hash interface (CONFIGCRYPTOUSERAPIHASH) and the SHA-3 hash algorithm (CONFIGCRYPTO_SHA3) to cause a kernel stack buffer overflow by executing a crafted sequence of system calls that encounter a missing SHA-3 initialization.
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2017-17806.json"
[
{
"signature_type": "Function",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git@af3ff8045bbf3e32f1a448542e73abb4c8ceb6f1",
"digest": {
"function_hash": "116777108213627998741411078984488223320",
"length": 106.0
},
"id": "CVE-2017-17806-19b68928",
"deprecated": false,
"target": {
"file": "crypto/shash.c",
"function": "shash_no_setkey"
}
},
{
"signature_type": "Line",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git@af3ff8045bbf3e32f1a448542e73abb4c8ceb6f1",
"digest": {
"line_hashes": [
"116961998834326434269844428561163154892",
"121756049164466577948255245058637002067",
"138041410260600664462810334966069573323",
"208175306237133579007989979060691169353",
"162997389274663043322698830187082191358",
"323844343936119481005218923025404442135",
"103336848201262415586382507047875781898",
"336917656121153708455851231943457440179"
],
"threshold": 0.9
},
"id": "CVE-2017-17806-5e4b14a3",
"deprecated": false,
"target": {
"file": "crypto/hmac.c"
}
},
{
"signature_type": "Function",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git@af3ff8045bbf3e32f1a448542e73abb4c8ceb6f1",
"digest": {
"function_hash": "136160910967049655191718090854130979032",
"length": 1536.0
},
"id": "CVE-2017-17806-8efecea2",
"deprecated": false,
"target": {
"file": "crypto/hmac.c",
"function": "hmac_create"
}
},
{
"signature_type": "Line",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git@af3ff8045bbf3e32f1a448542e73abb4c8ceb6f1",
"digest": {
"line_hashes": [
"302811703631577226403986142155919167808",
"60079089950745791349823720752056782933",
"166650275636383344949665000482476744979",
"214607640795191459155981444251731928490",
"171331947126873618911005498972182218763",
"76260227293459101964565079866704238983",
"215290142039699773801730387274654099611",
"32630089749594830127542554359786744676"
],
"threshold": 0.9
},
"id": "CVE-2017-17806-9a953203",
"deprecated": false,
"target": {
"file": "crypto/shash.c"
}
},
{
"signature_type": "Line",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git@af3ff8045bbf3e32f1a448542e73abb4c8ceb6f1",
"digest": {
"line_hashes": [
"317385528461206146078054416631515690296",
"90049535868810229725759211687668787332",
"29049524245644951122896440737903797386"
],
"threshold": 0.9
},
"id": "CVE-2017-17806-9c87f3f6",
"deprecated": false,
"target": {
"file": "include/crypto/internal/hash.h"
}
}
]