The driver_override implementation in drivers/base/platform.c in the Linux kernel before 4.12.1 allows local users to gain privileges by leveraging a race condition between a read operation and a store operation that involve different overrides.
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2017-12146.json"
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git@6265539776a0810b7ce6398c27866ddb9c6bd154",
"digest": {
"line_hashes": [
"132186486631150589433485367467796108643",
"250458534300432416200999980409576674263",
"331213493282608192631703227723414760079",
"82635814630705965383099325007750096086",
"167338090809555940832776282836938766877",
"174461565514019238949533904567599850832",
"215534951107800955153771217151206754309",
"203030458937743259592158015623874175698",
"205153447045672791724059237527454160905",
"32754711636127793176559409152385751197",
"85614460808118557839828904872255005647",
"35617956275503755218753505617871211257",
"277701364703901917437086296642400416631",
"306308784630233944950942113777214966006",
"287925257683729353673303346710982776945",
"183712548103997273036644848199093918693",
"152271945692577110198947249497306884933",
"292942058633864369101063374136023958336"
],
"threshold": 0.9
},
"id": "CVE-2017-12146-92de3a0c",
"deprecated": false,
"signature_type": "Line",
"signature_version": "v1",
"target": {
"file": "drivers/base/platform.c"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git@6265539776a0810b7ce6398c27866ddb9c6bd154",
"digest": {
"length": 481.0,
"function_hash": "281522709823105202687407128869032607072"
},
"id": "CVE-2017-12146-b14ff7b7",
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1",
"target": {
"file": "drivers/base/platform.c",
"function": "driver_override_store"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git@6265539776a0810b7ce6398c27866ddb9c6bd154",
"digest": {
"length": 172.0,
"function_hash": "316586244295890850483222540294967345029"
},
"id": "CVE-2017-12146-d231d4b1",
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1",
"target": {
"file": "drivers/base/platform.c",
"function": "driver_override_show"
}
}
]
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2017-12146.json"
[
{
"source": "https://github.com/torvalds/linux/commit/6265539776a0810b7ce6398c27866ddb9c6bd154",
"digest": {
"line_hashes": [
"132186486631150589433485367467796108643",
"250458534300432416200999980409576674263",
"331213493282608192631703227723414760079",
"82635814630705965383099325007750096086",
"167338090809555940832776282836938766877",
"174461565514019238949533904567599850832",
"215534951107800955153771217151206754309",
"203030458937743259592158015623874175698",
"205153447045672791724059237527454160905",
"32754711636127793176559409152385751197",
"85614460808118557839828904872255005647",
"35617956275503755218753505617871211257",
"277701364703901917437086296642400416631",
"306308784630233944950942113777214966006",
"287925257683729353673303346710982776945",
"183712548103997273036644848199093918693",
"152271945692577110198947249497306884933",
"292942058633864369101063374136023958336"
],
"threshold": 0.9
},
"id": "CVE-2017-12146-1187ffdb",
"deprecated": false,
"signature_type": "Line",
"signature_version": "v1",
"target": {
"file": "drivers/base/platform.c"
}
},
{
"source": "https://github.com/torvalds/linux/commit/6265539776a0810b7ce6398c27866ddb9c6bd154",
"digest": {
"length": 172.0,
"function_hash": "316586244295890850483222540294967345029"
},
"id": "CVE-2017-12146-1728115c",
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1",
"target": {
"file": "drivers/base/platform.c",
"function": "driver_override_show"
}
},
{
"source": "https://github.com/torvalds/linux/commit/6265539776a0810b7ce6398c27866ddb9c6bd154",
"digest": {
"length": 481.0,
"function_hash": "281522709823105202687407128869032607072"
},
"id": "CVE-2017-12146-7c3dc280",
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1",
"target": {
"file": "drivers/base/platform.c",
"function": "driver_override_store"
}
}
]