13 ms·
Udp.c in Linux kernel pre-4.5 allows remote attackers to execute arbitrary code
- bipson 9y agoIt seems [1] recent kernels are not affected by this. So if you are running older (hopefully lts kernels), you might need to verify them, otherwise you should be fine (check back with your distro obviously). [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=197c949e7798fbf28cfadc69d9ca0c2abbf93191 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
- merb 9y agowhich is not really cool I mean I at least need to check two kernels: - Linux git 4.4.0-72-generic #93-Ubuntu SMP Fri Mar 31 14:07:41 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux (Ubuntu 16.04, but I can probably switch to HWE) - Linux censored 3.10.0-514.6.1.el7.x86_64 #1 SMP Wed Jan 18 13:06:36 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux (CentOS 7.3.1611) not really cool :/ happily I have no udp traffic and the AWS/internal firewall blocks all udp traffic by default.
- lathiat 9y agohttps://people.canonical.com/~ubuntu-security/cve/2016/CVE-2016-10229.html https://people.canonical.com/~ubuntu-security/cve/2016/CVE-2... Apparently xenial 4.4 is not affected.
- deleted 9y ago[deleted]
- user5994461 9y agoCorrection: ALL production OS and kernels are affected. "udp.c in the Linux kernel before 4.5 allows remote attackers to execute arbitrary code via UDP traffic [...]" There is barely any OS that are >= 4.5 (only CoreOS on the top of my head).
- Ndymium 9y agoHuh? I'm running Arch Linux on kernel 4.8 (latest in repos is 4.10). Ubuntu 16.10 has kernel 4.8.
- pmontra 9y agoServers are usually on LTS versions. Ubuntu 16.04 is on 4.4 last time I checked. My Android 7.0 phone is on 3.10.84, last updated in February. Edit: Ubuntu's tracker is at https://people.canonical.com/~ubuntu-security/cve/2016/CVE-2016-10229.html https://people.canonical.com/~ubuntu-security/cve/2016/CVE-2...
- jbbarth 9y agoPatches from upstream are regularly backported by distribution vendors, including Redhat, Debian, Ubuntu (though I don't know if Ubuntu do this themselves or base on Debian). Anyway, looking at the version number is not enough, you should refer your vendor security advisories.
- pdexter 9y agoArch is on 4.10.9
- BozeWolf 9y agoYes but arch is not a serious production/server os. Although some of you may do it. Most servers/business run on (not the latest) redhat/suse/debian/ubuntu and derivates. They dont have kernel versions that recent.
- belovedeagle 9y agoThat just goes to show that Ubuntu and friends are not serious production OS. In what world is extended vulnerability to months-old bugs a legitimate prerequisite for production viability?
- 9y ago
- dom0 9y agoWhy is this bubbling up again?
- deleted 9y ago[deleted]
- cyann 9y agoRed Hat (RHEL 5/6/7) not affected: https://access.redhat.com/security/cve/CVE-2016-10229 https://access.redhat.com/security/cve/CVE-2016-10229 Highest impact is on Android: https://source.android.com/security/bulletin/2017-04-01 https://source.android.com/security/bulletin/2017-04-01
- mnw21cam 9y agoThe RHEL web page is singularly unhelpful. Do they mean that is not affected if you update today and reboot, or that they have never shipped a kernel with the affected functionality enabled? I have a server with just over a year's uptime, so I need to know. The debian web page at least lists the exact kernel version they ship where it is confirmed fixed.
- bipson 9y agoMaybe this is more helpful: https://bugzilla.redhat.com/show_bug.cgi?id=1439740 https://bugzilla.redhat.com/show_bug.cgi?id=1439740
- forbiddenlake 9y agoThe Statement near the top seems unambiguous: > This issue does not affect the Linux kernel packages as shipped with Red Hat Enterprise Linux 5, 6, and 7, Red Hat Enterprise MRG 2, and realtime kernels as the code that introduced the flaw is not present in these products.
- danielparks 9y agoLooks like this was patched a while ago in both RedHat and Debian distros. https://access.redhat.com/security/cve/cve-2016-10229 https://access.redhat.com/security/cve/cve-2016-10229 https://security-tracker.debian.org/tracker/CVE-2016-10229 https://security-tracker.debian.org/tracker/CVE-2016-10229
- ramshanker 9y agoThe wording makes it sound like Hertbleed/Cloudbleed level vulnerability. I mean impact wise, all those routers and cameras got another attack vector?
- problems 9y agoThis would make heartbleed and similar look like childsplay - this is a worm level attack if it's as bad as the title sounds. But given that redhat has so far labelled themselves not vulnerable, I'm guessing there's more to it than the title lets on.
- sp332 9y agoWhat does worm level mean? I heard it in relation to heartbleed [or something] but couldn't figure out why it's worse than non-wormable.
- problems 9y agoBy worm level I mean it's a remote code execution attack which can be propagated over the internet. Someone can write a little piece of code that scans for random hosts, runs the attack and installs itself on the target system which then does the same until it's taken over all vulnerable hosts. It can self-replicate extremely fast. This was a huge issue back in the Blaster/Sasser days of early Windows XP when plugging in a machine to the internet directly was common. Servers and home routers are often plugged into the internet directly and often run Linux. So if this is easily exploitable it could turn into a real disaster. Heartbleed can't be turned into a worm because there's no code execution, just information disclosure, with this there is.
- cookiecaper 9y agoWorms are viruses that worm their way in to connected computers through the network without any action on the user's part, and then use newly-infected computers to worm through to others. Unlike many other viruses, you don't have to visit a page that runs an exploit, download a trojan, open an attachment, or do anything else to trigger it. Any computer that can contact the exploitable service can infect you (and will, if it has the worm too). "Worm-level" would call back to classic worm attacks where any computer connected to the internet and running Windows 2000/XP was at real risk of infection just by being connected. LAN/corporate networks could be infected if someone plugged an infected computer into the LAN, or if it spread through the DMZ. This type of attack doesn't happen very often anymore, as almost all home connections are firewalled by default, vendors have become more careful with security, etc.
- antirez 9y agoThis is probably less severe than it sounds like because of the MSG_PEEK option needed in recvfrom(), which is rarely used.
- kuizu 9y agoPublic information is very thin on the exploitability of this. Are you able to elaborate a little bit where MSG_PEEK might be used? Is it used in the kernel? Only in specific applications?
- antirez 9y agoReading the original link, it looks like the kernel corruption only happens when an user space application uses the recvfrom() syscall using the MSG_PEEK option. MSG_PEEK is only used AFAIK only in specific applications that need to "peek" at the message without consuming it. This is not a very common use case, but some research should be done to understand if there is some popular application using it.
- pjc50 9y agoIf I've understood this correctly, it turns it into a local privilege escalation opportunity: run a vulnerable application as the user, use the exploit to get code execution in the kernel.
- zzzcpan 9y agoYeah, but there is still a little bit of explicit usage of recvfrom() with MSG_PEEK https://codesearch.debian.net/search?q=recvfrom+.*+MSG_PEEK https://codesearch.debian.net/search?q=recvfrom+.*+MSG_PEEK And probably more implicit https://codesearch.debian.net/search?q=recv+.*+MSG_PEEK https://codesearch.debian.net/search?q=recv+.*+MSG_PEEK
- ryan-c 9y agoThe use in wget seems a little scary.
- clarry 9y agorust
- krosaen 9y agoAlways funny to see how banal bug fix commits are in comparison with the severity of the bug itself https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=197c949e7798fbf28cfadc69d9ca0c2abbf93191 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
- verbatim 9y agoI'm not sure how the Linux kernel handles these, but in some projects, this is intentional, the goal being to land the fix and make everyone safe before knowledge of how to exploit the bug is widely known. Of course, sometimes just fixing up code for stability reasons may close a security hole that isn't really known or understood yet. Not sure which was happening here.
- nix0n 9y agoSee http://yarchive.net/comp/linux/security_bugs.html http://yarchive.net/comp/linux/security_bugs.html Relevant Linus quote: "I personally consider security bugs to be just "normal bugs""
- krosaen 9y agoI just mean the code delta itself; one line of code can make a lot of difference :)
- hdhzy 9y agoSometimes even one character can make a lot of difference: https://en.wikipedia.org/wiki/Mariner_1#.22The_most_expensive_hyphen_in_history.22 https://en.wikipedia.org/wiki/Mariner_1#.22The_most_expensiv...
- BiohaZd 9y agothis is soo confusing...
- abetusk 9y agoI really wish these announcements would come with a short check to see if you're affected and some example code to test if you're vulnerable. Does anyone know of a simple check to see if your server is affected?
- ajross 9y agoMSG_PEEK is a pretty obscure feature. I'm not personally aware of any commonly-run UDP code that actually uses it. You'll want to patch your kernel for sure, but unless you're running really crazy UDP servers, you're probably not immediately vulnerable.
- sigjuice 9y agoWhat about UDP clients? I don't see anything in the CVE to suggest a client vs server distinction in terms of (mis-)behavior.
- ajross 9y agoClients[1] are absolutely vulnerable too. But again, I'm not aware of any code that actually uses MSG_PEEK. [1] Really, there isn't any distinction at the kernel level between a UDP "client" and "server". It's the same set of syscalls being used on both sides, the difference is just who speaks first.
- cjbprime 9y ago> MSG_PEEK is a pretty obscure feature. I'm not personally aware of any commonly-run UDP code that actually uses it. You'll want to patch your kernel for sure, but unless you're running really crazy UDP servers, you're probably not immediately vulnerable. Or unless you have untrusted users on your machine, in which case they can run crazy UDP servers and escalate to root.
- ajross 9y agoYes, which is an important point: this serves as a local root escalation to any process which can open a UDP socket.
- Meegul 9y agoDoes anyone have an explanation for how this exploit works?
- duskwuff 9y agoYou're not the only one confused here. Tavis isn't sure what's going on either: https://twitter.com/taviso/status/852571815079591936 https://twitter.com/taviso/status/852571815079591936
- BiohaZd 9y agoUbuntu 14 LTS Current kernel is 3.13.0-116-generic and issue was fixed in released (3.13.0-79.123)- so NOT AFFECTED Ubuntu 12 LTS Current kernel is 3.2.0-118-generic and fixed in released (3.2.0-99.139) - so NOT AFFECTED
- kasabali 9y agoThis vulnerability has already been disclosed and fixed in mainline, upstream longterm releases and major distribution kernels last year, I don't understand why it made the news today, am I missing something, is it slow news day or is it fear mongering? I flagged the thread because it is harmful (or time waster at best). From the comments I can see people are worried and unknowingly wasting their time checking their kernels to see if they are affected from a vulnerability that has already been fixed more than a year ago. Damn, I wasted half an hour of my time to see what really the situation is about.
- matheweis 9y agoAndroid patches were released a week or so ago that fixed this vulnerability. [https://source.android.com/security/bulletin/2017-04-01 https://source.android.com/security/bulletin/2017-04-01] That probably explains why it is bubbling up now. Many phones and routers will remain unpatched. The CVE was marked as highly critical and the kernel patche comments are vague at best as to the risks. The issue is not with this being on HN, the issue is with the lack of clarity about the scope and severity of the vulnerability.