Changes

Jump to navigation Jump to search
936 bytes added ,  23:09, 3 February 2019
rip my potential 0day
Line 271: Line 271:  
| January 2018
 
| January 2018
 
| [[User:SciresM|SciresM]], [[User:Yellows8|yellows8]]
 
| [[User:SciresM|SciresM]], [[User:Yellows8|yellows8]]
 +
|-
 +
| Potential [[SVC|svcWaitForAddress]] thread use-after-free
 +
| Between [[4.0.0]], where svcWaitForAddress was introduced, and [[7.0.0]], there was a second intrusive rbtree node in KThread for the WaitForAddress tree (the key being (address, priority), sorted lexicographically). Unlike the WaitProcessWideKeyAtomic tree, the kernel forgot to reinsert the WaitForAddress node when the thread's priority changed (priority inheritance and/or SetPriority), breaking the rbtree invariants; and since the kernel walks through the entire tree to remove intrusive nodes, you could cause threads to stay in the tree even after their deletion.
 +
 +
[[7.0.0]] fixed the issue by using the same intrusive node for both trees. The thread/node knows which tree it is in, and the latter is correctly updated when thread priority changes.
 +
| It unluckily didn't look exploitable
 +
| [[7.0.0]]
 +
| [[7.0.0]]
 +
| July 2018
 +
| February 2019
 +
| [[User:TuxSH|TuxSH]]
 
|-
 
|-
 
|}
 
|}
88

edits

Navigation menu