12 ms·
ThinkPwn: System Management Mode arbitrary code execution
- kriro 10y agoSo this is traceable to the Intel reference implementation. I am going to assume incompetence but let's say I would assume malice instead (some government agent wrote the reference spec full well knowing it's exploitable with or without the knowledge of Intel) how would one go about soft-proving that? Compare machines that are vulnerable in the wild and same spec machines from important people at Intel and/or suspected government agency (assuming they'd simply use a non-vulnerable version instead of some completely different hardware)?
- rikkus 10y agoReally hope Lenovo respond soon. Feel like I should leave my ThinkPads hibernated for now.
- shimon 10y agoI think this exploit requires local administrative access. If an attacker already has this, you're pretty screwed to begin with. In other words, while this could definitely make an attack more damaging and harder to remove, it doesn't seem like a reason to stop using a computer that has decent software and physical security.
- bsilvereagle 10y agoThis exploit just requires physical, not administrative, access to the machine. You build an EFI "app", put it on a flash drive, and execute it from the UEFI shell.
- drzaiusapelord 10y agoOh come on, how practical is this attack? I don't think Lenovo will default boot off a usb drive without user intervention. If you can get someone to run a USB that'll boot you open the user up to a bazillion exploits already and already own the machine.
- JonathonW 10y agoThe readme at the linked Github repo mentions that it probably is exploitable from a running OS if you implement your own EFI_BASE_PROTOCOL.Communicate() function. I'm assuming that would probably need admin/root access to exploit, but it does mean that you can turn an OS-level privilege escalation bug into something substantially more persistent and difficult to recover from.
- wbkang 10y agoAny "physical" access is definitely way more privileged than just the local admin access.
- revelation 10y agoWell, physical access ranks higher than administrative. If an attacker has physical access, no system is secure, if only because the interface to the system is no longer.
- 45h34jh53k4j 10y agoits not longer fair to call game over with physical access; indeed countermeasure like full disk encryption, computrace and Mac firmware passwords are all examples of things we do to raise the difficulty for a physical attacker.
- revelation 10y agoAnd the vast majority of them is trivially defeated by a bug inline with your USB keyboard.
- startling 10y agoYou can reconstruct a lot of information with a keylogger but nowhere near all of it.
- umanwizard 10y agoOK, mind telling me how to get root on my iPhone, then? BTW, I have physical access.
- pritambaral 10y agoThe thread above is not talking about a locked down, limited-freedom device like an iPhone. Laptop computers come with the ability to boot from external devices, unlocked and unrestricted.
- excalibur 10y agoIt looks like the issue is far more widespread than just Lenovo, we just aren't aware of the full scope yet.
- frankosaurus 10y agoSimilar situation here... I just purchased a refurbished L420 which arrives today. Hopefully they re-flash the firmware as a matter of course.
- excelangue 10y agoStarting with the X230 series of ThinkPads, Lenovo has used flash write protection to prevent "unauthorized" BIOS modifications. Owners of X220 laptops and below are able to reflash the BIOS to remove Lenovo's whitelist of WLAN/WWAN cards; the X230 models are currently stuck with Wi-Fi N and Gobi 3000 3G-only cards due to Lenovo's whitelist. Would this exploit allow ThinkPad owners to reflash their BIOS chip without desoldering and flashing with external hardware?
- creshal 10y agoMost likely not; the flash protection is not done by the firmware, but by the Intel Management Engine and a public key burnt into silicon (Intel Boot Guard). The current exploit only runs far later, after the validation is performed. So unless you manage to mangle the code execution flow of the authentic firmware to the point that it skips the whitelists, you can't get rid of it.
- excelangue 10y agoOn X220 and previous, the whitelist is removed by creating a modified version of the BIOS without the included whitelist, then flashing it to the BIOS chip. Technically, this can still be done on X230, but as it has the flash write disable unless a signed Lenovo image is to be flashed, the user must desolder the BIOS chip and flash it with the modified image using an SPI chip flasher. As this exploit can remove this flash write protection, perhaps a modified BIOS image can be flashed from the system itself, bypassing the Lenovo signature check?
- zxexz 10y agoHuh, here[0] is a a tutorial on removing the whitelist for the X230, via desoldering and an SPI flasher. Looking at the images, the chip looks like an SOIC-8. I wonder why they didn't just use a test clip like this one[1]... EDIT: The obvious answer would be that they didn't have one handy and were competent enough that de- and re-soldering the chip was not a big deal. EDIT (again): Also, they wanted to flash a NEW chip with the contents of the original so that they could fall back to the original in the event of failure. [0] https://www.bios-mods.com/forum/Thread-TUTORIAL-Lenovo-X230-Tablet-BIOS-Whitelist-Removal-Hardware-Flash https://www.bios-mods.com/forum/Thread-TUTORIAL-Lenovo-X230-... [1] https://www.digikey.com/product-detail/en/pomona-electronics/5250/501-1311-ND/745102 https://www.digikey.com/product-detail/en/pomona-electronics...
- cdubzzz 10y agoInteresting bit form Lenovo's security advisory on the matter[0]: > Shortly after the researcher stated over social media that he would disclose a BIOS-level vulnerability in Lenovo products, Lenovo PSIRT made several unsuccessful attempts to collaborate with the researcher in advance of his publication of this information. [0] https://support.lenovo.com/us/en/solutions/LEN-8324 https://support.lenovo.com/us/en/solutions/LEN-8324
- geocar 10y agoClear as mud. Lenovo has previously sacrificed user security and privacy for money (superfish), so it does not surprise me that they have done it again, and these kinds of weasel words aren't going to get me to buy another Lenovo product again. Here's an idea: How about not putting backdoors in our products? How about making it easier for consumers to replace software on systems they own?
- snuxoll 10y agoLenovo has always maintained a higher standard for their Think products, Superfish was only an issue on the Idea line. Doesn't excuse the debacle, but ThinkPad's are their professional line of notebooks and they make every effort to keep a positive image.
- CaptSpify 10y agoEhhh..... that used to be the case. As an owner of 2 thinkpads, I'm not convinced thats still true
- snuxoll 10y agoI've been quite happy with my work-issued ThinkPad W540, it's a brick compared to my Dell XPS 13 (9333) but I would expect that considering the hardware it packs.
- AdmiralAsshat 10y agoLenovo only maintained the "standard" for their ThinkPads because it was an explicit condition of IBM when they sold the ThinkPad line to Lenovo.
- deleted 10y ago[deleted]
- jonwachob91 10y agoT450S user here. What exactly does this mean for me? I get it's a security issue, but that's about all I understood...
- gbrown_ 10y agoThe example exploit is run from an UEFI shell which requires physical control of the device. It mentions exploitation from the OS as a possibility however one would expect that the OS shouldn't allow such operations as a non root user.
- Kadin 10y agoSure, but there's not exactly a shortage of privilege-escalation exploits around. It doesn't seem like this is exactly a drive-by "oh please look at this resume.rtf.doc" type of attack, but it could become one with time if it goes on too long. Somebody would just need to stack things up in the right way, to get privileges in the OS and then from there inject the EFI code. That'd be a heck of a rootkit.
- sprkyco 10y agoTypically physical control is deemed as the game ender. If this is proven to be OS executable it will be a major issue. Many of the Adobe, IE, and other high volume exploit vendors codebase zero-day root exploits would allow one to not only gain access at a root level on a machine, but now also at a much lower level. This level would negate the typical benefits of recovering from a root-level "hack" via HDD erasing or Malware Removal tools or any other method available to even tech-savvy people.
- lmz 10y agoIt very probably is (on non secure boot systems). The EFI system partition is just a FAT32 partition that can be mounted e.g. using mountvol. The EFI boot options and order are stored in changable variables (see efiboootmgr). Writing this code to ESP and setting it up to run on next boot then chainload windows doesn't sound too hard.
- 10y ago
- jkldotio 10y agoWhat are we up to now? Three preloaded spyware scandals, possible remote execution via the Intel stack and now this vulnerability. That's just what we know about, who knows what else exists. I don't think I can buy another one, which is sad as I think it was a timeless and great design.
- esaym 10y agoI plan on using my quad core T520 for probably another 5+ years. All of their laptops after the T520 series have the full size keyboard with numberpad which off-sets the center of the keyboard, so now your typing is mostly happing on the left side of the keyboard and that causes wrist strain. Having a numberpad is really lame on a laptop. I won't buy one and I know of no one else that likes the numberpad either.. sadly many manufactures are doing the same.
- ovrdrv3 10y agoWow this was actually going to be a major buying factor in my next Laptop, was really considering a gaming laptop for the numpad but I guess it wouldn't be too difficult to buy a bluetooth numpad for the right side of the keyboard/get used to the numbers above the keyboard. Thanks for this angle. Never considered wrist strain.
- 51Cards 10y agoAlso hanging on to my W530 for a long time. One of the reasons (in a long list) is the centered keyboard.
- teddyc 10y agoNumberpad on a laptop is a deal breaker for me, too.
- Nexxxeh 10y agoSome heavy Excel and Sage users would disagree.
- dandelion_lover 10y ago> What are we up to now? I am about to buy and advice to others the only freedom-respecting laptops [0]. [0] https://minifree.org/product/libreboot-t400/ https://minifree.org/product/libreboot-t400/ and https://minifree.org/product/libreboot-x200/ https://minifree.org/product/libreboot-x200/
- bsilvereagle 10y ago> Vulnerable code of SystemSmmRuntimeRt UEFI driver was copy-pasted by Lenovo from Intel reference code for 8-series chipsets. > Alex James found vulnerable code on motherboards from GIGABYTE (Z68-UD3H, Z77X-UD5H, Z87MX-D3H, Z97-D3H and many others): This is beyond the scope of just Lenovo machines.
- pwnna 10y agoAs confirmed by Lenovo as well: > The package of code with the SMM vulnerability was developed on top of a common code base provided to the IBV by Intel. Importantly, because Lenovo did not develop the vulnerable SMM code and is still in the process of determining the identity of the original author, it does not know its originally intended purpose. But, as part of the ongoing investigation, Lenovo is engaging all of its IBVs as well as Intel to identify or rule out any additional instances of the vulnerability's presence in the BIOS provided to Lenovo by other IBVs, as well as the original purpose of the vulnerable code. https://support.lenovo.com/ca/en/solutions/LEN-8324 https://support.lenovo.com/ca/en/solutions/LEN-8324
- peterwwillis 10y agoCould a mod please retitle to "ThinkPwn: Intel 8-series firmware exploit affects multiple vendors" ? It's a bit of a mouthful but reflects that this is more widespread than just ThinkPads.
- sctb 10y agoThanks, we've updated the submission title to reflect this.
- mdip 10y agoI've always liked the build quality of the ThinkPad series though it's been a few years since I've put my hands on one. That said, it looks like they need to spend similar attention on the software. On the flip side, though, I wonder if this solves the issue with the Yoga laptops I read about recently where the user could not disable SecureBoot in order to install the operating system of their choice. It's a little sad to be excited about a vulnerability because it might provide an opportunity for a consumer open up the products they rightfully purchased.
- skykooler 10y agoSort of like all the iPhone vulnerabilities that allowed the devices to be jailbroken.
- happyslobro 10y agoI'm running Ubuntu on a Yoga 2 Pro, I hadn't heard about that issue. Either the exploit is now a transparent part of the Ubuntu installer, or it doesn't affect the Yoga 2.
- mdip 10y agoI guess I could have provided context in that comment. :o) Here's the story I was referring to: https://globalvoices.org/2016/06/16/in-defense-of-free-software-my-case-against-lenovo-in-mexico/ https://globalvoices.org/2016/06/16/in-defense-of-free-softw... And the HN thread: https://news.ycombinator.com/item?id=12027574 https://news.ycombinator.com/item?id=12027574
- flurpitude 10y agoAlso found in an HP DV7 4087CL from 2010: https://twitter.com/al3xtjames/status/749063556486791168/photo/1 https://twitter.com/al3xtjames/status/749063556486791168/pho...
- quotemstr 10y agoI wish we could even purchase machines without SMM, Intel Management Engine, and similar features. On any machine I own, I want the CPU and the software running in ring zero to be the last word on what happens. I don't think it's unreasonable to ask for a system that meets this requirement.
- jMyles 10y agoSeriously. We need a group to examine and certify on this basis. This is getting out of hand.
- dandelion_lover 10y ago> a group to examine and certify Like FSF [0]? [0] https://fsf.org/ryf https://fsf.org/ryf
- dandelion_lover 10y agoAs I commented elsewhere, we can, see https://news.ycombinator.com/item?id=12037410 https://news.ycombinator.com/item?id=12037410
- quotemstr 10y agoThat's good to hear. Thanks!
- yuhong 10y agoNote that I mentioned how it does not do any microcode updates though. I blogged http://yuhongbao.blogspot.ca/2015/06/why-your-core-2-processor-appear-to-not.html http://yuhongbao.blogspot.ca/2015/06/why-your-core-2-process... about a problem that can prevent 64-bit Win8.1 from installing. I think you were there back then too, right?
- voltagex_ 10y agoHah. Thought this sounded vaguely familiar. Turns out VirtualBox had an issue with the "new" instructions needed for Windows 8.1, too. https://blogs.oracle.com/fatbloke/entry/using_virtualbox_to_test_drive https://blogs.oracle.com/fatbloke/entry/using_virtualbox_to_...
- jsjohns2 10y agoQuite the hilarious "security advisory" [0] that Lenovo put out. They manage to take zero responsibility, shift blame to the researcher/IBV/Intel, and admit that they ship SMM code of both unknown author and purpose. [0] https://support.lenovo.com/us/en/solutions/LEN-8324 https://support.lenovo.com/us/en/solutions/LEN-8324
- kuschku 10y ago> and admit that they ship code of both unknown author and purpose. That's literally what every vendor does nowadays. Do you think LG can get the code for the firmware of the SoCs they use in their phones? Do you think the coreboot guys can get the source for the Intel Management Engine firmware? Do you think any of the firmware in your system comes from your OEM and is secure? This is a failure in the entire industry, and it's getting worse every day. The proper solution would be simple, too: Allow everything to be flashed with custom software, but allow the user to set a cryptographic key with which updates have to be signed. By default, the system could accept the OEM key, the user could lock it further down. Provides additional security for corporations and nerds, provides additional flexibility, provides the ability to modify the firmware.
- jsjohns2 10y ago> Do you think any of the firmware in your system comes from your OEM and is secure? No, of course not. But I'm surprised that Lenovo would tacitly admit this.
- josteink 10y agoTo be honest this has been going on ever since the first day random OEMs started shipping X86-based machines. There's really nothing to admit. Back then we had Amibios, Pheonix bios etc etc, but these days we call it "UEFI" and "firmware" and everyone gets up in arms about it.
- imglorp 10y agoThat's going to get complicated for network interactions and legislative bodies. Two examples come to mind. First is the FCC vs WIFI channel selection in firmware. They want the choice to interfere be removed from the user in this occasion. Second is cell carriers are not wild about unknown basebands conversing with their networks. In theory the network should defend against bad phones but they'd rather not test that.
- deleted 10y ago[deleted]
- OneTwoFree 10y agoI thought I have an intermediate level C knowledge, but I have no idea what is happening in the vulnerable line: *(v3 + 0x8)(*(VOID **)v3, &dword_AD002290, CommunicationBuffer + 0x18); As I understand it is (was) an example code from Intel. Example codes should be easy to understand and well documented.
- loeg 10y agoIt's C generated by disassembling x86 assembler code. It is not an example code from Intel. The function pointer at `v3 + 0x8` is invoked with arguments: (1) the pointer at `v3 + 0x0`, (2) some fixed pointer, and (3) a pointer into the CommunicationBuffer. E.g. here's more idiomatic C code to represent the same idea: struct Thunk { void *argument; void (fp)(void *, DWORD *, void *); }; struct CommunicationBuffer { uint64_t unknown[4]; struct Thunk *thunk; ...; }; EFI_STATUS __fastcall sub_AD3AFA54( EFI_HANDLE SmmImageHandle, VOID *CommunicationBuffer, UINTN *SourceSize) { struct CommunicationBuffer *cb = CommunicationBuffer; if (cb->thunk) { cb->thunk->fp(cb->thunk->argument, &dword, &cb->unknown[3]); cb->thunk = NULL; } return 0; }
- fencepost 10y agoDon't just plaster Lenovo with this - they're getting the splatter because Cr4sh has been researching their firmware, but this is a multi-vendor issue. A few important notes from the article and the releaser's blog post: * This is not a Lenovo problem so much as a problem for multiple vendors who used BIOS based on Intel's reference information. The original problem was with source code provided by Intel. The same problem is confirmed to exist in at least one HP system. * This was apparently fixed back in 2014, but there doesn't seem to be an indication that it was recognized as a security flaw then or at least it wasn't noted as a security fix. 2014 isn't that long ago in terms of propagating BIOS updates. * Cr4sh apparently decided to just release, "I decided to do the full disclosure because the main goal of my UEFI series articles is to share the knowledge, not to make vendors and their users happy." * His assessment is "It’s very unlikely that this vulnerability will be exploited in the wild, for regular customers there are much more chances to be killed with the lightning strike than meet any System Management Mode exploit or malware."
- CaptSpify 10y agoAlthough you are correct, I don't feel it's bad to blame the vendor who was running code that they didn't know the source of, nor the reasoning behind it's existence.
- kuschku 10y agoSo, literally every vendor? Can you think of a single example of a vendor not running UEFI code from others, not running either Qualcomm's kernels for ARM chips, nor distributing Intel's ME firmaware, nor distributing AMD's TPM firmware? I don't think there's a single OEM that knows what they're actually running – if there is, SAMSUNG would likely be it, because they have a chance at actually doing everything in-house.
- drewg123 10y agoI thought that Chromebooks, at least, run coreboot rather than UEFI, and so should be immune from this.
- 10y ago
- gvb 10y agoThis should be good news for people looking to getting rid of Computrace, effectively a rootkit, from surplus Thinkpads. http://forum.thinkpads.com/viewtopic.php?t=114641 http://forum.thinkpads.com/viewtopic.php?t=114641 Yes, I bought a surplus Thinkpad (T61) and found it had Computrace activated on it. Grrrr. Yes, I could call the Absolute(R) Software number and they should disable it for me. I have not been willing to sit on hold and jump their hoops to date. Since I run linux on the laptop, is fairly low risk for me, but Absolute(R) Software could inadvertently or intentionally "brick" my laptop. Grrrr.
- yuhong 10y agoI dislike the arms race against laptop theft. It is not as much talked about as encryption backdoors, but...
- throwaway7767 10y agoAFAIK all the ThinkPads have a BIOS option to disable CompuTrace. Mine has three options: "Enabled", "Disabled" (default option) and "Permanently disabled". The "permanently disabled" option erases the CompuTrace blob from the flash chip, so it cannot be re-enabled afterwards. This may not be the case for their non-business machines (i.e., not ThinkPad).
- deleted 10y ago[deleted]
- ChoHag 10y ago> First is the FCC vs WIFI channel selection in firmware. They want the choice to interfere be removed from the user in this occasion. Fuck 'em. > Second is cell carriers are not wild about unknown basebands conversing with their networks. Fuck 'em. > In theory the network should defend against bad phones but they'd rather not test that. ... hard.
- corndoge 10y agoFuck 'em for sure. What can be done, will be done; taking out knobs like that wont prevent the people who would be changing that setting anyway in the long run.
- dang 10y agoPlease don't post unsubstantive comments. We detached this subthread from https://news.ycombinator.com/item?id=12037726 https://news.ycombinator.com/item?id=12037726 and marked it off-topic.
- shmel 10y agoCool. Now Lenovo admits they have no idea whose this code is and what it is supposed to do. It sounds like a shitty excuse of junior programmer: "Hey man, not my fault! I have just copy-pasted that snippet from StackOverflow!"
- hoodoof 10y agoOK so what can be done to prevent this being an issue on my machine?
- acd 10y agoJoanna Rutkowska has written about Intel based products that are possibly vulnerable to the Intel management engine code. Even if you run an open source operating system such as Linux or FreeBSD, there is still proprietary code in the management engine that you cannot look or verify that its secure. Here is the paper http://blog.invisiblethings.org/papers/2015/x86_harmful.pdf http://blog.invisiblethings.org/papers/2015/x86_harmful.pdf UEFI is another gigantic hide point for malware. I think one could possibly run more simple platforms such as Raspberry PI, Odroid which may not have embedded management engines. That should be more secure than x86 platforms.
- 0x0 10y agoEven the raspberry pi ARM cpu is slave to the VideoCore GPU, as the GPU (and its corresponding binary blob) is what initializes first on powerup and only later does it boot up the ARM CPU.
- voltagex_ 10y agoThe situation is better than what it was - https://github.com/christinaa/rpi-open-firmware https://github.com/christinaa/rpi-open-firmware