In the Linux kernel through 5.2.14 on the powerpc platform, a local user can read vector registers of other users' processes via a Facility Unavailable exception. To exploit the venerability, a local user starts a transaction (via the hardware transactional memory instruction tbegin) and then accesses vector registers. At some point, the vector registers will be corrupted with the values from a different local Linux process because of a missing arch/powerpc/kernel/process.c check.
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2019-15030.json"
[
{
"digest": {
"line_hashes": [
"130878700994453301650889955879228503543",
"209527652814464917183750397721259026983",
"335414200643759377317775720982650602377",
"297870490262022276605069503129148821797",
"242520685932451493407463947582744368190",
"249114454773743823024892524822093073731",
"147482067711319287443878293248533898721",
"296570442598214337617564299532360658946"
],
"threshold": 0.9
},
"signature_version": "v1",
"target": {
"file": "arch/powerpc/kernel/process.c"
},
"signature_type": "Line",
"id": "CVE-2019-15030-40c0b772",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git@8205d5d98ef7f155de211f5e2eb6ca03d95a5a60",
"deprecated": false
},
{
"digest": {
"function_hash": "185200225673697710282295442572509392934",
"length": 566.0
},
"signature_version": "v1",
"target": {
"file": "arch/powerpc/kernel/process.c",
"function": "giveup_all"
},
"signature_type": "Function",
"id": "CVE-2019-15030-71a733ea",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git@8205d5d98ef7f155de211f5e2eb6ca03d95a5a60",
"deprecated": false
}
]