The mm subsystem in the Linux kernel through 3.2 does not properly enforce the CONFIGSTRICTDEVMEM protection mechanism, which allows local users to read or write to kernel memory locations in the first megabyte (and bypass slab-allocation access restrictions) via an application that opens the /dev/mem file, related to arch/x86/mm/init.c and drivers/char/mem.c.
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2017-7889.json"
[
{
"signature_type": "Function",
"target": {
"file": "drivers/char/mem.c",
"function": "write_mem"
},
"deprecated": false,
"id": "CVE-2017-7889-1ae19f49",
"signature_version": "v1",
"digest": {
"function_hash": "134087680390228662167454497513129637023",
"length": 854.0
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git@a4866aa812518ed1a37d8ea0c881dc946409de94"
},
{
"signature_type": "Function",
"target": {
"file": "drivers/char/mem.c",
"function": "read_mem"
},
"deprecated": false,
"id": "CVE-2017-7889-68b91703",
"signature_version": "v1",
"digest": {
"function_hash": "282059906824178162303695043408396603414",
"length": 848.0
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git@a4866aa812518ed1a37d8ea0c881dc946409de94"
},
{
"signature_type": "Line",
"target": {
"file": "arch/x86/mm/init.c"
},
"deprecated": false,
"id": "CVE-2017-7889-a2c01460",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"248197707517229588972610019335715368791",
"250072903397901398065050050445878878015",
"218260987775552904669048416727009878308",
"82391804434792871980016456413101188772",
"245311183614105766121065259603002263548",
"56097061534828893841564452445558856769",
"273738635858970777193538894468108571674",
"220249291468909340193765592115389475190",
"188280305019267970794282732818598397723",
"319140476797403156946580241941660804373",
"163808381260159686401527342173053785236",
"324731224787222176755317682610862167407"
]
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git@a4866aa812518ed1a37d8ea0c881dc946409de94"
},
{
"signature_type": "Function",
"target": {
"file": "arch/x86/mm/init.c",
"function": "devmem_is_allowed"
},
"deprecated": false,
"id": "CVE-2017-7889-c5e71cd1",
"signature_version": "v1",
"digest": {
"function_hash": "267284673078138029021971348366992742610",
"length": 174.0
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git@a4866aa812518ed1a37d8ea0c881dc946409de94"
},
{
"signature_type": "Line",
"target": {
"file": "drivers/char/mem.c"
},
"deprecated": false,
"id": "CVE-2017-7889-d8d3ca7c",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"204552771310650514378011857811633512261",
"185934253367006472740598197677733317317",
"253054575169854695049149632299294078039",
"128152125977215519676716678788473482202",
"186922148917020594953048481439887454280",
"56101130002817165763063623775938444315",
"324660866223015437442196078689526558284",
"115497122959497872388481668497382366850",
"24023039567451344717140485124402353759",
"96077308743377495277463554876840891983",
"170938281552855205790056817763940482982",
"333525764869961118782823423977434989412",
"172862425776081344099733972567905253194",
"170218679833513219925432326780439011916",
"228556221507317254036262027408705384795",
"72761056824112152947496463639306743735",
"251243226331637626475834655852115510537",
"287068169506298433560631404945909149219",
"205091030032661257323493865138039019332",
"267053767192988754026583198766809854105",
"19246652998761391330895133737947943659",
"287534939259090509592385484355042558718",
"32613845082821108671874629695654723241",
"48933700787621256873070412171449134191",
"270603463061064237068371619205231898912",
"193723490748587254201980019321964394850",
"177939831989635255501505890033257191803",
"65976271825021313521812959833165134276",
"275328696000568520000998313057291341921",
"181667559882459636086011464860678728889",
"162542954256575197162853139024966214770",
"48462197632196353182914035928965708236",
"192834561862030104567644324948564041506",
"14744958810992318544601882357059446049",
"302591251589802453571409897102992784472",
"300145139708585115422449872562751053648",
"313526306067309719459267779368705329583",
"181667559882459636086011464860678728889",
"36629170682171291211487456338769318460",
"105697842809959990198161738279381139487"
]
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git@a4866aa812518ed1a37d8ea0c881dc946409de94"
}
]
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2017-7889.json"
[
{
"signature_type": "Function",
"target": {
"file": "drivers/char/mem.c",
"function": "read_mem"
},
"deprecated": false,
"id": "CVE-2017-7889-38c7cb6d",
"signature_version": "v1",
"digest": {
"function_hash": "282059906824178162303695043408396603414",
"length": 848.0
},
"source": "https://github.com/torvalds/linux/commit/a4866aa812518ed1a37d8ea0c881dc946409de94"
},
{
"signature_type": "Function",
"target": {
"file": "drivers/char/mem.c",
"function": "write_mem"
},
"deprecated": false,
"id": "CVE-2017-7889-7d723c28",
"signature_version": "v1",
"digest": {
"function_hash": "134087680390228662167454497513129637023",
"length": 854.0
},
"source": "https://github.com/torvalds/linux/commit/a4866aa812518ed1a37d8ea0c881dc946409de94"
},
{
"signature_type": "Function",
"target": {
"file": "arch/x86/mm/init.c",
"function": "devmem_is_allowed"
},
"deprecated": false,
"id": "CVE-2017-7889-949db55c",
"signature_version": "v1",
"digest": {
"function_hash": "267284673078138029021971348366992742610",
"length": 174.0
},
"source": "https://github.com/torvalds/linux/commit/a4866aa812518ed1a37d8ea0c881dc946409de94"
},
{
"signature_type": "Line",
"target": {
"file": "drivers/char/mem.c"
},
"deprecated": false,
"id": "CVE-2017-7889-b727700d",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"204552771310650514378011857811633512261",
"185934253367006472740598197677733317317",
"253054575169854695049149632299294078039",
"128152125977215519676716678788473482202",
"186922148917020594953048481439887454280",
"56101130002817165763063623775938444315",
"324660866223015437442196078689526558284",
"115497122959497872388481668497382366850",
"24023039567451344717140485124402353759",
"96077308743377495277463554876840891983",
"170938281552855205790056817763940482982",
"333525764869961118782823423977434989412",
"172862425776081344099733972567905253194",
"170218679833513219925432326780439011916",
"228556221507317254036262027408705384795",
"72761056824112152947496463639306743735",
"251243226331637626475834655852115510537",
"287068169506298433560631404945909149219",
"205091030032661257323493865138039019332",
"267053767192988754026583198766809854105",
"19246652998761391330895133737947943659",
"287534939259090509592385484355042558718",
"32613845082821108671874629695654723241",
"48933700787621256873070412171449134191",
"270603463061064237068371619205231898912",
"193723490748587254201980019321964394850",
"177939831989635255501505890033257191803",
"65976271825021313521812959833165134276",
"275328696000568520000998313057291341921",
"181667559882459636086011464860678728889",
"162542954256575197162853139024966214770",
"48462197632196353182914035928965708236",
"192834561862030104567644324948564041506",
"14744958810992318544601882357059446049",
"302591251589802453571409897102992784472",
"300145139708585115422449872562751053648",
"313526306067309719459267779368705329583",
"181667559882459636086011464860678728889",
"36629170682171291211487456338769318460",
"105697842809959990198161738279381139487"
]
},
"source": "https://github.com/torvalds/linux/commit/a4866aa812518ed1a37d8ea0c881dc946409de94"
},
{
"signature_type": "Line",
"target": {
"file": "arch/x86/mm/init.c"
},
"deprecated": false,
"id": "CVE-2017-7889-dadeef07",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"248197707517229588972610019335715368791",
"250072903397901398065050050445878878015",
"218260987775552904669048416727009878308",
"82391804434792871980016456413101188772",
"245311183614105766121065259603002263548",
"56097061534828893841564452445558856769",
"273738635858970777193538894468108571674",
"220249291468909340193765592115389475190",
"188280305019267970794282732818598397723",
"319140476797403156946580241941660804373",
"163808381260159686401527342173053785236",
"324731224787222176755317682610862167407"
]
},
"source": "https://github.com/torvalds/linux/commit/a4866aa812518ed1a37d8ea0c881dc946409de94"
}
]