back to article The D in SystemD stands for Danger, Will Robinson! Defanged exploit code for security holes now out in the wild

Those who haven't already patched a trio of recent vulnerabilities in the Linux world's SystemD have an added incentive to do so: security biz Capsule8 has published exploit code for the holes. Don't panic, though: the exploit code has been defanged so that it is defeated by basic security measures, and thus shouldn't work in …

  1. Waseem Alkurdi

    Again

    This seems to be a direct consequence of the init that's an OS in its own right.

    1. m0rt

      Re: Again

      systemd is a philosophical wrong choice.

      That is, I think, why it polarises people so much. Yep it has massive advantages. But convenience brings complexity, and opaque complexity at that.

      If you look at how long posix compliant code has been around in major use you can see that there is a lot there that was just right.

      Can you imagine where systemd will be in 10 years time? I shudder to think. Probably Oracle will somehow do a deal and buy the rights to it somehow.

      But I won't say 'I told you so!''

      I'll bloody well use frikkin lasers and write it on the moon.

      1. Doctor Syntax Silver badge

        Re: Again

        "Probably Oracle will somehow do a deal and buy the rights to it somehow."

        As soon as IBM spirals far enough down the drain.

      2. Hardrada

        Re: Again

        @m0rt "systemd is a philosophical wrong choice."

        I think there's also been a shift in influence in the opensource world. I started experimenting with Linux 20 years ago after my NT 4.0 workstation gave me one too many stop errors, and I remember encountering a mix of obsessive tinkerers, professional users (mostly in IT and academia) and passionate Microsoft-haters. There were lots of neat little programs and libraries being actively developed by individuals, and while they often lacked API level integration and couldn't easily be rolled into something like a Windows or Mac desktop, there was a lot of choice and decent data interoperability. Portability was hit-and-miss, but most people I talked to seemed to think that it was a good idea.

        Poettering is a different breed. He seems to want social unity, and while I don't feel qualified to judge his technical arguments about the design of system level daemons, it seems odd that he (and some others*) want to remove abstractions that facilitate portability and compatibility while keeping lots of other cumbersome abstractions.

        A modern OS is a matryoshka doll of abstractions. In hardware you have translation of instructions into micro-ops as well as execution-reording, At the top you have web applications written in interpreted languages (both client- and server-side) that use compiled languages to interact with a supervisor that lives inside a hypervisor. And you don't just have one stack, but many different interpreters and several compiled languages. And a few different hypervisors. And ARM support, and initial support for RiscV. So I'm not sure why Poettering thinks that POSIX compatibility is the biggest threat to the elegance and efficiency of a modern Linux server or desktop.

        *I'm thinking of Jon McCann's argument back in 2011 that GNOME should depend on SystemD even if that meant nuking support for all non-Linux kernels. He also wanted to drop support for non-GNU core libraries even though they were useful on systems with limited memory or security requirements that made functions like strlcat/strlcpy advantageous.

        1. JohnFen

          Re: Again

          "He seems to want social unity"

          Isn't it odd, then, that he behaves in a way that guarantees the exact opposite of that?

          "*I'm thinking of Jon McCann's argument back in 2011 that GNOME should depend on SystemD even if that meant nuking support for all non-Linux kernels."

          I remember that. That statement is what changed my thinking about Gnome form being a DE that I dislike on aesthetic and usability grounds to one that I dislike because it represents an active threat.

          1. Hardrada

            Re: Again

            I can't speak for anyone else, but it sure didn't bring me over to his side.

    2. Anonymous Coward
      Anonymous Coward

      The downside of open source

      Is that it isn't possible to buy and permanently bury such offensive code to prevent it from ever being used again.

      1. rtfazeberdee

        Re: The upside of open source

        is that you can put your money where your mouth is and write your own drop in replacement.

        1. Anonymous Coward
          Anonymous Coward

          Drop in replacement for a steaming turd is another steaming turd. Droppings for everyone!

        2. cat_mara

          Re: The upside of open source

          is that you can put your money where your mouth is and write your own drop in replacement.

          Except, unfortunately, that the systemd developers refuse to commit to a stable API contract against which a drop-in replacement could be written and tested for compliance with the reference implementation. This is what has stymied prior attempts to produce re-engineered versions like uselessd, or get it running on OSes other than Linux. The lack of such a contract, IMO, is one of the main reasons why systemd has become such a crawling horror in the first place.

          1. Carpet Deal 'em
            Flame

            Re: The upside of open source

            They haven't just refused to commit to a stable API - they actively change it just to screw over any attempt to create a compatibility layer. If this were a company, they'd be under the magnifying glass for anticompetitive behavior; unfortunately, even Red Hat's control over the Linux landscape is unlikely to draw the attention of even the most ornery of regulators.

            1. GreenBit

              Re: The upside of open source

              Right out of the M$ playbook from the DOS days. Remember the 'undocumented' system calls they used, to give their own applications the edge? You used them at your peril because as s soon as too many 3rd parties got comfortable with them, M$ would mutate them.

        3. Rich 2 Silver badge

          Re: The upside of open source

          A drop-in replacement is the last thing that's needed. It just needs removing from history. Going back to SysV would be better than this shite, and there are several good alternatives to SysV

        4. JohnFen

          Re: The upside of open source

          A drop-in replacement can't fix anything. If it's actually a drop-in replacement, then it would necessarily retain all of the things that make SystemD objectionable.

          1. Anonymous Coward
            Stop

            this

            Even if the implementation was beautiful, the design and the assumptions are still there governing the interfaces, which would have to be replicated, which is The Wrong Thing to spend time and energy on...

        5. HieronymusBloggs

          Re: The upside of open source

          "is that you can put your money where your mouth is and write your own drop in replacement."

          The real upside is that I don't have to write a drop in replacement and can simply revert to sysvinit, or use one of several other sanely designed init systems.

    3. rtfazeberdee

      Re: Again

      Bollox. Its software. ALL software has bugs. get over it.

      1. Steve Graham

        Re: Again

        ...and when you replace 10 lines of code with 10,000 lines of code, you have increased the incidence of bugs by a thousand times. Got it yet?

        1. katrinab Silver badge

          Re: Again

          A lot more than 1000x more bugs.

          A 10 line prog has 10 lines that each interact with 9 other lines, so 90 bug opportunities

          a 10,000 prog has 10,000 lines that each interact with 9,999 other lines, so 99,990,000 bug opportunities. That increases the incidence of bugs by 1,111,000 times.

          1. Waseem Alkurdi

            Re: Again

            A 10 line prog has 10 lines that each interact with 9 other lines, so 90 at least 90* bug opportunities

            Hate to be pedantic, but ... fixed.

            * 90 is in the case there's only one bug per line.

      2. oiseau
        Facepalm

        Re: Again

        ALL software has bugs.

        Indeed ...

        But systemd is not just software with bugs: it's a virus implanted in a Linux installation.

        Just like the registry in MS OSes.

        Cheers,

        O.

        1. phuzz Silver badge
          Linux

          Re: Again

          Have you ever used a linux desktop that uses dconf?

          It's basically a less useful copy of the Windows Registry.

      3. John Robson Silver badge

        Re: Again

        It does, which is why you limit the reach of software. You don't need to log with root level rights.

        You get sent data by all and sundry, write it to disk.

        Why does that need root privs? (ignore for the moment the perfectly good text based logging we used to have)

        systemD might make sense in a few (mostly laptop related) cases, but it make serious compromises in terms of clarity and usability IMHO. No need for it on a vaguely stable system.

        1. Waseem Alkurdi

          Re: Again

          systemD might make sense in a few (mostly laptop related) cases

          Parallel init allowing for faster startup?

          I'd rather prefer a stable laptop to a $#!tty one.

      4. Anonymous Coward
        Anonymous Coward

        All software has bugs. Not all software has a disrespectful or even selfish strategy.

      5. Anonymous Coward
        Anonymous Coward

        Re: Again

        Saying "get over it" is akin to saying something that rhymes with "duck stew". You change-for-changes-sake types seem to think the rest of us haven't noticed. Or maybe it makes you feel all grown up?

        1. JohnFen
          Coat

          Re: Again

          Puck Dew?

          Truck Flew?

          Muck Slew?

          1. CRConrad

            Re: Puck Dew

            No, PieDiPew.

            1. John Brown (no body) Silver badge

              Re: Puck Dew

              "No, PieDiPew."

              Wot? Is that Pepe Le Pews cousin

    4. ElReg!comments!Pierre
      Pint

      Re: Again

      This seems to be a direct consequence of the init that's an OS in its own right.

      It's not quite ther yet, but certainly struggling to be.

      Still, this article comes just as I finally came around to migrating my last machine to Devuan, so cheers to everyone !

  2. John Robson Silver badge

    Do one thing...

    Do it well...

    Then hand over to another tool to do the next thing well...

    1. Waseem Alkurdi

      Re: Do one thing...

      Noooo! Mash it all up so it looks like these whizzy machines in movies!

  3. Red Sceptic
    Thumb Up

    Kudos ...

    for Lost in Space reference.

    I’ve gone all nostalgic now.

  4. naive

    The D stands for Deficiency in education

    The whole systemD thing has always been an answer to a question that was never asked by people using Linux systems as a server.

    It is nice that systemD might help laptops with their (de)hybernation issues.

    They should start teaching in engineering school that simpler things are better, since they cost less to build and maintain, while being more robust at the same time. Nowadays everything is top-heavy from featuritis, costs a ton of money and is broken within 5 years.

    People using Linux for serious stuff, are burdened with unnecessary complexity and the security risks implied by this very complexity.

    Maybe mainstream distributors of Linux will start to learn that things which are not there, can't impose a security risk, and start publishing light-weight server versions of Linux. Really, nobody needs a windows Registry like start up system on Unix, the very idea should someone have banned from ever logging in on an Unix system.

    1. Tom 7

      Re: The D stands for Deficiency in education

      I never used to get de-hibernation issues on my laptop until SystemD came along. They were solved by re-booting, Something that with modern disk makes SystemD a problem added to a problem that no-longer exists,

    2. Waseem Alkurdi
      1. Anonymous Coward
        Anonymous Coward

        strings

        still a valid way to go hunting for traces of the Foolsbook SDK in various .apk, imo... I shall take this as a reminder that I had better get on with it.

        1. Anonymous Coward
          Facepalm

          slightly less horrible

          There were only 3 that contained "advertiser_tracking_enabled" as seen in the traffic during that 35C3 vid. One was APKPure, which pisses me right off because if I wanted to use an app store that tracked me, I'd have kept all the Google crap. Second was Firefox, which is not even reasonable-- I am assuming it got corrupted by none other than APKPure, with which I loaded it. Third was LingoDeer, which IIRC also came from APKPure if not some other random APK-slinging website. None of the kool kids-- that I originally got through Google Play, saved, and later "adb install"ed-- had obvious traces. So there's your wrap-up. APKPure is Orwellian BS if anything ever was.

    3. JohnFen

      Re: The D stands for Deficiency in education

      "Really, nobody needs a windows Registry like start up system on Unix"

      Not only does nobody need it, it's actively bad. Not just on Unix, but on Windows as well.

    4. JohnFen

      Re: The D stands for Deficiency in education

      "It is nice that systemD might help laptops with their (de)hybernation issues."

      I've been using Linux on laptops from long before SystemD existed, and have never had problems with hibernation. I'm not saying other's didn't have issues, but I do think that this implies that such issues can be fixed without the likes of SystemD.

  5. _LC_
    Pint

    I got an idea

    Let's just rewrite the code from scratch, so we can introduce bugs anew.

    1. A.P. Veening Silver badge

      Re: I got an idea

      As long as you get rid of SystemD (and anything else with an equivalent bloat function), please do so. Bugs can be eradicated but SystemD is a virus, much harder to eradicate.

  6. Anonymous Coward
    Anonymous Coward

    poettering the donald trump of coding

    prime example of a fucking idiot who thinks he's a bigly genius.

    1. Anonymous Coward
      Anonymous Coward

      Wow AC, that's pretty hateful thing for you to say. I mean, wow

      Don't forget that Trump haters still have to LIVE right next to Trump lovers all day every day until they can maybe rearrange their entire life and leave the country. Don't forget that nobody elected Poettering to be anything super-important and even though Debian elected to follow Redhat, and lots of distros are electing to follow suit, you can still elect to simply not install those, you can still make it Somebody Else's Problem. IMO there's just not that much of a comparison in your 'prime example' and IMO it's still a lot shittier for the USA than it is for the FOSS community.

      1. Anonymous Coward
        Anonymous Coward

        gawsh you guys, you brownvote like I'm defending LP or something. I'm not saying it isn't shitty for the FOSS people-- it is shitty. I *am* saying that was a bad comparison; it is not accurate. It's a shitty metaphor, a shitty ANALogy, and a shitty thing to say. And WTF is 'bigly' anyway? Hugely, majorly, largely, predominantly, massively, overwhelmingly, phenomenally, sure... but bigly? Shirley something resembling an adjective in that position would have been much less ...aromatically unpleasant. It rather tidily betrays the shortage of critical thinking behind the shitty OP. But what do I know? I'm just a dumb bum Murkin anyway...

        1. JohnFen

          I don't know why you got downvotes, but if I had to guess, it's not because people thought you were defending LP. I'm guessing it's because you're taking an intentionally low-blow emotionally-based insult too seriously.

        2. CRConrad

          If you don't even recognise "bigly"

          ...you are not qualified to criticize comparisons to Trump.

          That's it. You've just shown you're not woth listening to on this subject. You cancelled out your own statement.

  7. katrinab Silver badge
    Devil

    "Those who haven't already patched a trio of recent vulnerabilities in the Linux world's SystemD have an added incentive to do so"

    Not really. I'm just smug in the knowledge that I don't need to.

    By the way, if you do need to patch, you can find the perfect patch at freebsd.org

    1. Waseem Alkurdi

      Until glibc (then systemd) magically discover portability and mutate, infecting FreeBSD, that is.

      1. Anonymous Coward
        Anonymous Coward

        Highly unlikely Waseem. The SystemD folks are totally opposed to portability, while FreeBSD has a good alternative to SysV init already. As for glibc, it's written in a gibberish that relies on the C pre-processor and is a possibility poor implementation compared to the elegance of the BSD libcs.

      2. katrinab Silver badge
        Happy

        Not going to happen. Both the SystemD and FreeBSD developers are in agreement on this.

        I'm certainly very happy with having BSD Init handled by a collection of shell scripts rather than a massive bug-ridden monolith.

    2. ElReg!comments!Pierre

      By the way, if you do need to patch, you can find the perfect patch at freebsd.org

      While I kinda* agree with the general sentiment, the reason why systemd became an issue at all is that it is backed by RedHat, the most trusted *NIX distro in the Big Biz world (unlikely to change since they were just gobbled by the most trusted Big Iron company in the Big Biz world...). That gives systemd considerable traction. I do currently work for Big Biz. Big Biz doesn't care for reliablity, stability or elegance terribly much, these are just bonusses. Big Biz cares for support contracts, monetary penalties, and above all, for "case open with the supplier so it's not our problem anymore" clauses.

      Something is rotten in the State of IT. Goodpractices, I knew thee well, etc. But again, I'm old enough to remember that it's always been the case. Same general mindset, same errors, different offenders. The only difference is that some of us here were hoping for an improvement when Linux hit the limelight, and that's only a generation thing. Hope is a renewable resource, disappointment is a constant ;-)

      Resistance is NOT futile though. The most efficient way of resistance IMHO is Devuan at this time, not *BSD, because of the trust built around Linux by now-traitors RHEL and Debian (to cite only 2). The path of least resistance is often the fastest. Not that I don't believe in unicorns, mind : I am myself eagerly waiting for -and occasionnally minutely contributing to- the Raise of the Mighty GNU HURD Complete With Its Own MACH Microkernel. Not holding my breath though (renewable resources, constants, etc).

      *For personnal -and rather shallow- reasons I prefer dabbling with DragonFlyBSD myself, but that's besides the point

      1. JohnFen

        "The most efficient way of resistance IMHO is Devuan at this time, not *BSD"

        I don't understand your argument here. Why not BSD? I think both of those are equally effective choices.

        1. ElReg!comments!Pierre

          Why not BSD? I think both of those are equally effective choices.

          Sure, but Joe Public -and non-technical management- has heard of Linux and even often tried it /deployed it in production, while *BSD is still confidential outside some IT circles. And Devuan benefits from the rather impressive hardware support and application base of Debian (and to some exxtent, of RedHat)

          1. JohnFen

            Sure, ordinary users are less likely to use BSD for the reasons you cite, but that doesn't explain your original comment.

            1. ElReg!comments!Pierre

              The way systemd has been pushed means that a lot of userland stuff now assumes it's there (even without explicitely depending on it, in some cases). To counter the trend, there needs to be enough systems out there that do not run systemd.

              Also, many managers will be reluctant to switch production from RHEL to *BSD. The switch to Devuan is easier to promote.

  8. Ima Ballsy
    Mushroom

    That POS ...

    That's screwed up more install's than I care to admit ....

    I can understand the initial thought on making boot faster by threading (ALA: System 7 unix) but the whole FUCKING thing has gone down hill since ...

    And boot times have gotten WAY faster since SSD's seem to be more and more deployed.

    SO, why do we still need it ? Probably because some thought their DICK was bigger than everyone elses.....

  9. Will Godfrey Silver badge
    Happy

    Hunting around online I found an excellent bugfix

    It even has a codename:

    DEVUAN

    1. Waseem Alkurdi
      Joke

      Re: Hunting around online I found an excellent bugfix

      But don't forget to set binary mode when downloading it using FTP, because its first release is ASCII. (Pun superintended)

    2. Tom 7

      Re: Hunting around online I found an excellent bugfix

      And it will make a good Pi filling too - https://files.devuan.org/devuan_jessie/embedded/ !

  10. teknopaul

    Systemd-journald

    If you are wondering what systemd-journald does its a bunch of high priv c code that replaces writing files in /var or the venerable and very fast syslogd that has no problems. I.e. journald is more, new, pointless systemd mission creep.

  11. Flakk
    Joke

    Cause and Effect?

    Torvalds discovers his inner nice-guy. SystemD security holes abound. Coincidence?

  12. randon8154

    Systemd is fine...

    ... for a system not requiring security, stability or any serious control. Like gamer pc with steam / nvidia proprietary / graphics / media video, skype...

    Now using it on a environment where security is critical, it is inconsistent. Working with a minimal distro, openrc, hardened kernel, strict rules MAC, permission... doesn't even guarantee a security breach, what more with systemd.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like