<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: ebiggers</title><link>https://news.ycombinator.com/user?id=ebiggers</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 02 May 2026 10:25:16 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=ebiggers" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by ebiggers in "Copy Fail"]]></title><description><![CDATA[
<p>I don't see those eBPF or microkernel ideas as being particularly realistic!  But there are some simple ways AF_ALG's attack surface could be reduced (as an intermediate step to disabling it entirely), like requiring CAP_SYS_ADMIN and/or limiting the algorithms to a specific list.</p>
]]></description><pubDate>Thu, 30 Apr 2026 22:51:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=47969317</link><dc:creator>ebiggers</dc:creator><comments>https://news.ycombinator.com/item?id=47969317</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47969317</guid></item><item><title><![CDATA[New comment by ebiggers in "Copy Fail"]]></title><description><![CDATA[
<p>Indeed, iwd is the main reason why general-purpose Linux distros can't disable AF_ALG yet.  But many Linux systems are more specialized and don't have wireless connectivity, or they use another wireless daemon such as wpa_supplicant which doesn't have this issue.<p>I'm hoping we can get iwd fixed to use a userspace crypto library, as well.  This is something that people could help with.<p>iwd also runs as root, so it would be okay with a CAP_SYS_ADMIN permission check if one were introduced, I think.</p>
]]></description><pubDate>Thu, 30 Apr 2026 22:48:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=47969279</link><dc:creator>ebiggers</dc:creator><comments>https://news.ycombinator.com/item?id=47969279</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47969279</guid></item><item><title><![CDATA[New comment by ebiggers in "Copy Fail"]]></title><description><![CDATA[
<p>No, dm-crypt just calls the kernel's crypto code directly.</p>
]]></description><pubDate>Thu, 30 Apr 2026 05:09:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=47958380</link><dc:creator>ebiggers</dc:creator><comments>https://news.ycombinator.com/item?id=47958380</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47958380</guid></item><item><title><![CDATA[New comment by ebiggers in "Copy Fail"]]></title><description><![CDATA[
<p>That can be done in userspace too -- different userspace processes have different address spaces too.<p>The fact that the first link recommends using keyctl() for RSA private keys is also "interesting", given that the kernel's implementation of RSA isn't hardened against timing attacks (but userspace implementations of RSA typically are).</p>
]]></description><pubDate>Thu, 30 Apr 2026 03:56:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=47957897</link><dc:creator>ebiggers</dc:creator><comments>https://news.ycombinator.com/item?id=47957897</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47957897</guid></item><item><title><![CDATA[New comment by ebiggers in "Copy Fail"]]></title><description><![CDATA[
<p>It doesn't seem to actually get used that way in practice. ALG_SET_KEY_BY_KEY_SERIAL didn't even appear until just a few years ago.  And either way, if the interface allows you to overwrite the su binary, whether it theoretically could provide some other security benefit becomes kind of irrelevant.</p>
]]></description><pubDate>Thu, 30 Apr 2026 03:04:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=47957565</link><dc:creator>ebiggers</dc:creator><comments>https://news.ycombinator.com/item?id=47957565</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47957565</guid></item><item><title><![CDATA[New comment by ebiggers in "Copy Fail"]]></title><description><![CDATA[
<p>If iwd, or cryptsetup with certain non-default algorithms, isn't being used on the system, you should be fine.  Not many programs use AF_ALG.  It's possible there are others I'm not aware of, but it's quite rare.<p>To be clear, general-purpose Linux distros generally can't disable these kconfig options yet, due to these cases.  But there are many Linux systems that simply don't need this functionality.<p>A good project for someone to work on would be to fix iwd and cryptsetup to always use userspace crypto, as they should.</p>
]]></description><pubDate>Thu, 30 Apr 2026 02:48:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=47957466</link><dc:creator>ebiggers</dc:creator><comments>https://news.ycombinator.com/item?id=47957466</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47957466</guid></item><item><title><![CDATA[New comment by ebiggers in "Copy Fail"]]></title><description><![CDATA[
<p>iwd is the main culprit (for systems that use it instead of wpa_supplicant).<p>I think cryptsetup / LUKS also requires it with some non-default options.  With the default options, it works fine with the kconfigs disabled.<p>There's not much else, as far as I know.  Normally programs just use a userspace library instead, such as OpenSSL.</p>
]]></description><pubDate>Thu, 30 Apr 2026 01:55:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=47957165</link><dc:creator>ebiggers</dc:creator><comments>https://news.ycombinator.com/item?id=47957165</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47957165</guid></item><item><title><![CDATA[New comment by ebiggers in "Copy Fail"]]></title><description><![CDATA[
<p>As someone who works on the Linux kernel's cryptography code, the regularly occurring AF_ALG exploits are really frustrating.  AF_ALG, which was added to the kernel many years ago without sufficient review, should not exist.  It's very complex, and it exposes a massive attack surface to unprivileged userspace programs.  And it's almost completely unnecessary, as userspace already has its own cryptography code to use.  The kernel's cryptography code is just for in-kernel users (for example, dm-crypt).<p>The algorithm being used in this exploit, "authencesn", is even an IPsec implementation detail, which never should have been exposed to userspace as a general-purpose en/decryption API.<p>If you're in charge of the configuration for a Linux kernel, I strongly recommend disabling all CONFIG_CRYPTO_USER_API_* kconfig options.  This would have made this bug, and also every past and future AF_ALG bug, unexploitable.  In the unlikely event that you find that it breaks any userspace programs on your system, please help migrate them to userspace crypto code!  For some it's already been done.  But in general, AF_ALG has actually never been used much in the first place, other than in exploits.<p>I don't think there's much other option.  This sort of userspace API might have been <i>sort of</i> okay many years ago.  But it just doesn't stand up in a world with syzbot, LLM-assisted bug discovery, etc.</p>
]]></description><pubDate>Thu, 30 Apr 2026 00:04:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47956312</link><dc:creator>ebiggers</dc:creator><comments>https://news.ycombinator.com/item?id=47956312</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47956312</guid></item><item><title><![CDATA[New comment by ebiggers in "I got robbed of my first kernel contribution"]]></title><description><![CDATA[
<p>It may have been, but security impact is often not recognized right away.  The older report was not sent to security@kernel.org and did not include a root cause analysis.</p>
]]></description><pubDate>Wed, 27 Sep 2023 18:50:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=37679404</link><dc:creator>ebiggers</dc:creator><comments>https://news.ycombinator.com/item?id=37679404</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37679404</guid></item><item><title><![CDATA[New comment by ebiggers in "I got robbed of my first kernel contribution"]]></title><description><![CDATA[
<p>This is a great example of why so few people want to be a Linux kernel maintainer.  Not only is it largely a thankless "job" where you get blamed for issues you didn't cause and are expected to do much of the work on your own time, but you can potentially get a misleading hit piece published about you and posted to Hacker News just for doing your job.<p>IMO, what the maintainer did (taking authorship and crediting the original author/reporter via Reported-by, after rewriting the entire patch including the commit message) was in line with kernel conventions.  The lines are a bit blurry, and I think keeping the original author/reporter as at least a Co-developer would also have been acceptable.  Still, people sometimes complain if they are kept as the author or co-developer if their patch is rewritten, as they don't want to "own" that rewritten patch and take blame for any issues in it.  So pick your poison.<p>Ideally, more time would have been taken to work with the original author/reporter to get their patch in shape.  Unfortunately, there isn't always time for that.  In this case, the bug was reported to security@kernel.org as a security vulnerability, so that throws much of the usual process out the window; it needed to be fixed quickly.  The maintainer went out of their way to get it fixed quickly, in a better way, and even added unit tests for it later.  The original author/reporter was credited in both the fix commit and the pull request merge commit.  Also note that the maintainer's commit is dated June 7 and was merged into mainline on June 9.  So AFAICS, it predated the original author/reporter sending a revised patch; it postdated only the first patch.</p>
]]></description><pubDate>Wed, 27 Sep 2023 18:25:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=37678988</link><dc:creator>ebiggers</dc:creator><comments>https://news.ycombinator.com/item?id=37678988</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37678988</guid></item><item><title><![CDATA[New comment by ebiggers in "Ebiggers/libdeflate: Heavily optimized DEFLATE/zlib/gzip library"]]></title><description><![CDATA[
<p>How were you comparing ISA-L and libdeflate?  For decompression I've found that the latest version of libdeflate is slightly faster than ISA-L.</p>
]]></description><pubDate>Wed, 30 Aug 2023 06:51:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=37318528</link><dc:creator>ebiggers</dc:creator><comments>https://news.ycombinator.com/item?id=37318528</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37318528</guid></item><item><title><![CDATA[New comment by ebiggers in "Computing Adler32 Checksums at 41 GB/s"]]></title><description><![CDATA[
<p>Note that libdeflate has used essentially the same method since 2016 (<a href="https://github.com/ebiggers/libdeflate/blob/v0.4/lib/adler32_impl.h#L97" rel="nofollow">https://github.com/ebiggers/libdeflate/blob/v0.4/lib/adler32...</a>), though I recently switched it to use a slightly different method (<a href="https://github.com/ebiggers/libdeflate/blob/v1.12/lib/x86/adler32_impl.h#L175" rel="nofollow">https://github.com/ebiggers/libdeflate/blob/v1.12/lib/x86/ad...</a>) that performs more consistently across different families of x86 CPUs.</p>
]]></description><pubDate>Mon, 08 Aug 2022 00:31:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=32381301</link><dc:creator>ebiggers</dc:creator><comments>https://news.ycombinator.com/item?id=32381301</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32381301</guid></item><item><title><![CDATA[New comment by ebiggers in "Red Hat reports security issue in Linux Kernel which was fixed 17 months prior"]]></title><description><![CDATA[
<p>> In this somewhat unusual case, the problem was found and corrected in the Linux kernel through a typical bug-fix process and not handled as a security vulnerability, so no CVE was assigned.<p>This isn't unusual.  This is actually the usual case.<p>The unusual thing here is actually that someone downstream noticed they were missing a fix (probably because its LTP regression test was failing, which is also unusual because most kernel fixes don't have an LTP regression test).<p>More commonly, no one notices and these bugs never get fixed in downstream kernels that aren't staying up to-date with LTS; and there is never a CVE, an oss-security post, a Hacker News thread, etc.  But these bugs are still there.</p>
]]></description><pubDate>Wed, 24 Jun 2020 02:54:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=23623483</link><dc:creator>ebiggers</dc:creator><comments>https://news.ycombinator.com/item?id=23623483</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23623483</guid></item><item><title><![CDATA[New comment by ebiggers in "Google, Xiaomi, and Huawei affected by zero-day flaw that unlocks root access"]]></title><description><![CDATA[
<p>Well, the longer that vulnerabilities are kept secret, the longer that users are unable to take any action to protect themselves, and the less incentive that vendors have to roll out fixes quickly and to prevent vulnerabilities in the first place.  See the Project Zero disclosure FAQ: <a href="https://googleprojectzero.blogspot.com/p/vulnerability-disclosure-faq.html" rel="nofollow">https://googleprojectzero.blogspot.com/p/vulnerability-discl...</a></p>
]]></description><pubDate>Sun, 06 Oct 2019 01:57:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=21169333</link><dc:creator>ebiggers</dc:creator><comments>https://news.ycombinator.com/item?id=21169333</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21169333</guid></item><item><title><![CDATA[New comment by ebiggers in "Google, Xiaomi, and Huawei affected by zero-day flaw that unlocks root access"]]></title><description><![CDATA[
<p>SELinux actually does significantly reduce the kernel attack surface on Android, and it has made a lot of kernel vulnerabilites unexploitable on Android.  This particular bug was simply one in the remaining attack surface.</p>
]]></description><pubDate>Sun, 06 Oct 2019 01:23:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=21169194</link><dc:creator>ebiggers</dc:creator><comments>https://news.ycombinator.com/item?id=21169194</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21169194</guid></item><item><title><![CDATA[New comment by ebiggers in "Google, Xiaomi, and Huawei affected by zero-day flaw that unlocks root access"]]></title><description><![CDATA[
<p>syzbot is already fuzzing the latest two stable kernels and has found hundreds of bugs, including lots of use-after-frees.  All these bugs are listed here:<p>- <a href="https://syzkaller.appspot.com/linux-4.14" rel="nofollow">https://syzkaller.appspot.com/linux-4.14</a>
- <a href="https://syzkaller.appspot.com/linux-4.19" rel="nofollow">https://syzkaller.appspot.com/linux-4.19</a><p>As far as I know, no one is doing anything with the syzbot bugs against stable kernels directly, since no company using Linux is paying anyone to do it as their job.  But some are getting fixed; e.g., some get reported against mainline too, then fixed and backported.</p>
]]></description><pubDate>Sun, 06 Oct 2019 01:01:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=21169080</link><dc:creator>ebiggers</dc:creator><comments>https://news.ycombinator.com/item?id=21169080</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21169080</guid></item><item><title><![CDATA[New comment by ebiggers in "Linux Kernel Through 4.20.10 Found Vulnerable to Arbitrary Code Execution"]]></title><description><![CDATA[
<p>AFAICS, this was exposed by the addition of sockfs_setattr() in v4.10.  So it's incorrect to claim that kernels older than that are vulnerable, even though the code being fixed was older.<p>Also, note that there may not actually be a proof-of-concept exploit yet, beyond a reproducer causing a KASAN splat.  When people request a CVE for a use-after-free bug they usually just assume that code execution may be possible.  (Exploits can be very creative.)</p>
]]></description><pubDate>Wed, 20 Feb 2019 20:42:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=19211781</link><dc:creator>ebiggers</dc:creator><comments>https://news.ycombinator.com/item?id=19211781</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19211781</guid></item><item><title><![CDATA[New comment by ebiggers in "Adiantum: Encryption for the Next Billion Users"]]></title><description><![CDATA[
<p>(I'm one of the authors of the blog post)<p>We considered it, of course, along with many other block ciphers.  However, heavily optimized Threefish-256 is 22.6 cycles per byte on Cortex-A7 (by far the most common CPU this is needed on) which is over twice as slow as Adiantum.  Threefish-512 and Threefish-1024 would be much slower still.  We're already at the borderline of the performance needed to actually get all Android devices encrypted, so over 2x worse performance is a no-go.<p>Threefish also wasn't published as a standalone block cipher but rather was part of Skein, which lost the SHA-3 competition.  Therefore it hasn't received as much cryptanalysis as ChaCha and AES, and probably won't get much more in the future.<p>Finally, note that unlike Adiantum, Threefish isn't a wide-block cipher, where flipping one bit in the sector scrambles all other bits.  So comparing its complexity directly to Adiantum's is somewhat unfair.  Other wide-block modes such as HCH and HCTR are also more complex than narrow-block modes.</p>
]]></description><pubDate>Fri, 08 Feb 2019 03:41:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=19111324</link><dc:creator>ebiggers</dc:creator><comments>https://news.ycombinator.com/item?id=19111324</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19111324</guid></item><item><title><![CDATA[New comment by ebiggers in "New Linux kernel debuts, adds more suspect NSA-sourced crypto"]]></title><description><![CDATA[
<p>You can read about some of the other options considered here: <a href="https://marc.info/?l=linux-crypto-vger&m=152573520705012" rel="nofollow">https://marc.info/?l=linux-crypto-vger&m=152573520705012</a>.  But in the end, a new ChaCha-based mode suitable for disk encryption (<a href="https://eprint.iacr.org/2018/720.pdf" rel="nofollow">https://eprint.iacr.org/2018/720.pdf</a>) had to be designed since there didn't seem to be any alternative block cipher that met the strict performance and security requirements.  LEA-128 maybe comes close, but it hasn't undergone too much cryptanalysis yet (much less than Speck).</p>
]]></description><pubDate>Tue, 14 Aug 2018 02:51:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=17755252</link><dc:creator>ebiggers</dc:creator><comments>https://news.ycombinator.com/item?id=17755252</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17755252</guid></item><item><title><![CDATA[New comment by ebiggers in "Linux Cryptography: Speck's real standing with the academic community"]]></title><description><![CDATA[
<p>There's some missing context if you read just Dr. Ashur's email and not the rest of the thread.  The reason I added Speck to the Linux kernel's crypto API is unrelated to the proposed/rejected ISO standard, but rather because Speck128-XTS is being considered for disk/file encryption on low-end Android devices.  This is a very important use case which has, regrettably, received much less attention than it deserves.  Currently the only options allowed to Android vendors are AES-CBC-ESSIV and AES-XTS, which are much too slow on low-end processors, especially when AES instructions (ARM CE) are absent.  Therefore, currently encryption isn't mandatory until 50+ MB/s AES performance.  This disproportionately penalizes people who can't afford the higher end devices, who end up with no encryption.  This is wrong: encryption should be for everyone.<p>Some have argued this problem will go away with new CPUs that can do AES faster.  This is probably the "right" solution.  But in practice this will require ARM CE (AES instructions).  Unfortunately, this is an optional processor extension and it will be _at least_ several years before all relevant processors have it, if they ever all do.  Note that this requires moving the whole industry, including not just device vendors but also the SoC and processor vendors they rely on; and devices are usually planned years in advance, with price, performance, and power efficiency being the main concerns, rather than encryption.  So, it is tough and very slow, and a software solution could be in place much sooner.  Plus, in any case it would be valuable to have an efficient cipher in software, in case a weakness is found in AES.<p>Why Speck128-XTS?  Well, after extensive research it actually seems to be the best option from a technical perspective, considering many security and performance aspects; see e.g. <a href="https://www.spinics.net/lists/linux-crypto/msg33000.html" rel="nofollow">https://www.spinics.net/lists/linux-crypto/msg33000.html</a>
 for details.  Again, this is specifically for the disk/file encryption use case on processors without AES instructions.  The fact that there isn't a less controversial option is really a consequence of the current state of the art, and not (as far as I can tell) just because we haven't done our homework.  Most critically, in the disk/file encryption use case there is no space to store a nonce; thus, stream ciphers such as ChaCha20 are inappropriate, as IVs are reused when data is overwritten, and with flash storage and/or f2fs an attacker may even be able to recover from the "disk" multiple versions of data written to a particular logical block offset, even after only a single point-in-time offline compromise.  Stream ciphers fail much more catastrophically than XTS here.  (It's unfortunate how many "crypto people" seem to be unfamiliar with the problems and constraints of practical disk encryption.)<p>Of course, even with kernel support available, no Android device will actually use Speck until it is actually added to the CDD.  That may or may not actually happen, and isn't my call.  Given the increased level of controversy, it may very well be punted on for this year's Android release.  Still, the alternative of no encryption is not okay, so in parallel we've also designed a new length-preserving encryption construction ("HPolyC") based on XChaCha and Poly1305, which will be published soon.  Hopefully the wider crypto community will also step up to help review this construction and even publish other new software-optimized disk encryption algorithms, which are greatly needed.  (And separately, perhaps the Speck team can better rise to the occasion of the, arguably disproportional but perhaps well-deserved, level of scrutity they are receiving and really set the gold standard for crypto proposals.  Although I still find their latest paper to be of higher quality than you find from other designers, it evidently still has room for improvement; and crypto needs to be held to exceptionally high standards in any case.)</p>
]]></description><pubDate>Mon, 04 Jun 2018 02:43:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=17224150</link><dc:creator>ebiggers</dc:creator><comments>https://news.ycombinator.com/item?id=17224150</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17224150</guid></item></channel></rss>