TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

CVE-2021-22555: Turning \x00\x00 into 10000$

344 pointsby defectalmost 4 years ago

17 comments

fulafelalmost 4 years ago
Manual parsing of complex binary formats (in this case a netfilter control protocol) in hand rolled C code in ring 0. An approach from the innocent 1990&#x27;s.<p>Quipping aside, an interesting thing is that this kind of thing used to be callable by root only and even in the early days of putting things behind more fine grained capabilities, CAP_NET_ADMIN probably wasn&#x27;t taken very seriously as representing untrusted users. Which begs the question of whether it would be more secure to keep these things root-only and make people do the hard and dangerous part of untrusted input handling in userspace, where it&#x27;s also easier (and not forbidden by kernel coding style rules...) to use safer PLT techniques to do it.
评论 #27846786 未加载
joostersalmost 4 years ago
I wonder how these vulnerabilities would be treated if the researchers didn&#x27;t bother to find an exploit for them?<p>The description of the exploit is so detailed that it gives the impression that discovering the original vulnerability was fairly quick and simple, and the real work is in building a functioning exploit to wriggle through the discovered kernel flaw.<p>If the researchers were to just stop once they discover the vulnerability, and immediately report it to the kernel security team, would it be treated with the same level of seriousness? Could a CVE with the same severity be issued, or would there be arguments over whether or not the bug is exploitable?
评论 #27842828 未加载
评论 #27843177 未加载
评论 #27845338 未加载
评论 #27846571 未加载
评论 #27843497 未加载
评论 #27844262 未加载
评论 #27843389 未加载
ilkkaoalmost 4 years ago
Didn&#x27;t see a link to the fix. Here it is: <a href="https:&#x2F;&#x2F;github.com&#x2F;torvalds&#x2F;linux&#x2F;commit&#x2F;b29c457a6511435960115c0f548c4360d5f4801d" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;torvalds&#x2F;linux&#x2F;commit&#x2F;b29c457a65114359601...</a>
vsaretoalmost 4 years ago
I&#x27;ll never not be impressed by the people who can find stuff like this
评论 #27842558 未加载
评论 #27843588 未加载
评论 #27843513 未加载
评论 #27843591 未加载
tremonalmost 4 years ago
&gt; While the vulnerability was found by code auditing, it was also detected once by <a href="https:&#x2F;&#x2F;syzkaller.appspot.com&#x2F;bug?id=a53b68e5178eec469534aca80fca1735fb3d8071" rel="nofollow">https:&#x2F;&#x2F;syzkaller.appspot.com&#x2F;bug?id=a53b68e5178eec469534aca...</a>, however not with a reproducible C code.<p>This made me pause. I had naively assumed (well, actually, never thought about it) that fuzzing would always expose a clear and obvious error path, but apparently there&#x27;s a lot of manual digging required to find the error mode?
评论 #27844756 未加载
评论 #27843401 未加载
评论 #27847448 未加载
fareeshalmost 4 years ago
For folks who are operating at this layer of bounds and overflows and such, are you relying entirely on a mental visualization of the data structures when reasoning about them? Or does this kind of exercise require some sketching etc? I find it to be quite challenging to explore these topics without having to draw on paper, so I was curious as to whether this is something that you eventually graduate from, or whether sketching things out remains a large part of the process.<p>Are there some tools that help this kind of thought process? Or do you have to use drawing primitives - rectangles, etc to do it?
评论 #27844129 未加载
评论 #27844149 未加载
rossmohaxalmost 4 years ago
Would following steps prevent this exploits and if yes, why they were not implemented still?<p>1. When spraying, they make use of the fact that same arena is used for all struct of a similar sizes. This allows them to fill holes in arenas with arbitrary data, creating fake structs. Why not have arena per struct or at least per subsystem?<p>2. Have some secret tag stored before each struct allocated in the arena. When freeing , check that tag is still intact. This should detect if there was a write spanning multiple adjacent structs.<p>3. I didn&#x27;t quite understand how they managed to create malicious release function. They have control over buffer where they can write code, but memory page containing that buffer isn&#x27;t executable, right?
评论 #27843834 未加载
jollybeanalmost 4 years ago
Bravo, just amazing. Great detail in the explanation.<p>I can hardly imagine how much time and effort someone must put into these kinds of things.
aestetixalmost 4 years ago
No logo, cool name, or vanity url. Clearly not worthy of attention. &#x2F;s
instancealmost 4 years ago
Is it just me, or is this is super similar to Dirty Cow [0] in terms of severity? Insane find!!<p>[0]: <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Dirty_COW" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Dirty_COW</a>
评论 #27848965 未加载
jxfalmost 4 years ago
I get that the terms of the contest stipulated payout limitations, but $10,000 really seems like chump change for this bug. Bypasses all protecting, executed arbitrary code. That&#x27;s worth a lot in the right hands.
评论 #27848945 未加载
评论 #27846248 未加载
beermonsteralmost 4 years ago
To quickly identify affected and patched kernel versions see<p><a href="https:&#x2F;&#x2F;github.com&#x2F;google&#x2F;security-research&#x2F;security&#x2F;advisories&#x2F;GHSA-xxx5-8mvq-3528" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;google&#x2F;security-research&#x2F;security&#x2F;advisor...</a>
saghulalmost 4 years ago
TheFlow is also the person behind many of the PS Vita exploits. Amazing stuff!
jeffbeealmost 4 years ago
Our regular reminder that the union of lifetimes of all known kernel exploits covers the entire history of Linux. There has never been a time during which your Linux systems were not vulnerable to takeover, somehow.
评论 #27851114 未加载
ComodoHackeralmost 4 years ago
Am I understanding correctly that the author has scored a bounty of $10K? If yes, where did it come from in this case?
评论 #27845904 未加载
rvnxalmost 4 years ago
Why does a Google security engineer gets a bounty &#x2F; reward for finding a security issue ? Isn&#x27;t it supposed to be his job ?
bullenalmost 4 years ago
Vulnerabilities once you have access to the machine are not really worth spending time on because servers should rely on shell hardening and clients should not be trusted anyway.<p>What we need is ways to avoid the kernel for networking memory, I figured Oracle would have realized this for Java by now but they are dragging their feet!
评论 #27843034 未加载
评论 #27843195 未加载