Systemd Opened Security Hole in Linux, VPNs Could Be Compromised
linuxreviews.org
linuxreviews.org
> The Strict mode breaks some pretty common and reasonable use cases, such as keeping connections via one default route alive after another one appears (e.g. plugging an Ethernet cable when connected via Wi-Fi).
> The strict filter also makes it impossible for NetworkManager to do connectivity check on a newly arriving default route (it starts with a higher metric and is bumped lower if there's connectivity).
And it goes on pointing out what you also mentioned about kernel defaults:
> Kernel's default is 0 (no filter), but a Loose filter is good enough. The few use cases where a Strict mode could make sense can easily override this.
> This attack works regardless of if you have a VPN or not. The attacker just needs to be able to send packets to the other host. It's not systemd specific.
That said, there have been a lot of “academic” exploits turned into full exploits in the recent years.
[0] https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=systemd
The truth about computer security is that it is abismal. Somethings are better than others but complex software written in unsafe languages...unsafe is gonna unsafe.
What worries me is that systemd is not engineered and managed as a project with this kind of risk. Instead it feels like a lot of cowboy coding.
Not even close. Scripts were always memory safe and limitations of shell didn't allow to go crazy with things and introduce security issues left and right.
And second reason why it is irrelevant is that the traditional bunch-of-shell-scripts init system does not process any kind of untrusted input.
Meta-reasons for wanting to like systemd in the first place include:
1a. It has plenty of nifty new features using the latest Linux features, most prominently cgroups.
2a. It makes it relatively easy to take advantage of those features for your own services, and/or to alter existing services to your liking.
3a. Probably for reasons 1a and 2a, most Linux distributions have long since changed to use systemd, and getting used to using a standard system is useful in real life.
The only meta-reasons for not liking systemd which I have seen are:
1b. It doesn’t work the way Unix always worked, and some people don’t like using it, since they don’t know all the ins and outs like they might do with the old systems.
2b. It seems to acquire, subsume and supplant lots of previously separate Unix systems like init, cron, syslog, ifconfig, etc. This, combined with 1b, only exacerbates the pain.
All other criticisms that I have seen can be adequately explained as being after-the-fact rationalizations stemming from 1b and 2b.
(Note: Anyone still using ifconfig on Linux should get with the program and start using ip(8) already: https://manpages.debian.org/testing/iproute2/ip.8.en.html)
iproute has nothing to do with systemd, and I use it a lot (although I prefer the default visibility of "ifconfig" rather than "ip -o a" to see what IPs I have on what interfaces).
https://www.freedesktop.org/wiki/Software/systemd/InterfaceS...
3b. Not working as advertised.
I have consistently run into major issues on various machines with trivial configurations. I am left with no choice but to ban systemd from all my machines because it's not usable.
You are perfectly justified in avoiding what you see to be problematic software. However, it is mainstream, and bugs seem to be fixed over time. If we assume this to be true, there will come a time when systemd is working perfectly adequately for your needs, but you are completely unprepared to use it, since you haven’t had the training which most everyone else has gotten until then. You see? I have my rationalizations and you have yours.
Why?
So, maybe you can try the search with the name of your favourite project (that maybe is similar in scope and user base to systemd) and tell us what you find? Are the numbers that dissimilar?
It's hardly suprising that opponents like yourself dont even bother to read up on the issue being discussed.
Turns out (suprise!?) that the linux defaults in this case is even worse than what systemd provides.