Security researcher and MateSSL founder, Andrew Ayer has uncovered a bug which will either crash or make systemd unstable (depending on who you talk to) on pretty much every linux distro. David Strauss posted a highly critical response to Ayer. In true pedantic nerd-fight fashion there is a bit of back and forth between them over the "true" severity of the issue and what not.
Nerd fights aside, how you feel about this bug, will probably largely depend on how you feel about systemd in general.
The following command, when run as any user, will crash systemd:
NOTIFY_SOCKET=/run/systemd/notify systemd-notify ""
After running this command, PID 1 is hung in the
pause
system call. You can no longer start and stop daemons. inetd-style services no longer accept connections. You cannot cleanly reboot the system. The system feels generally unstable (e.g. ssh and su hang for 30 seconds since systemd is now integrated with the login system). All of this can be caused by a command that's short enough to fit in a Tweet.Edit (2016-09-28 21:34): Some people can only reproduce if they wrap the command in a
while true
loop. Yay non-determinism!
(Score: 2) by DECbot on Wednesday October 05 2016, @11:19PM
With my suggestion [soylentnews.org] of inputd and outputd, there would be no need to create a new shell, not that a new shell isn't in the scope of systemd, because with inputd and outputd you can sanitize all standard input and output from one application before allowing the shell to pass it to the next process. With inputd and outputd, you can set a meta environment that supersedes the shell environment and be persistent between shells and processes. Thus you can set "aliases" that will "translate" valid powershell script into bash or even bash script to powershell and provide support of drive letters and whatnot. That is the power of inputd and the myriad of asinine arguments you can pass to inputd. You should even be able to assert() null strings and get a valid response when passing the proper undocumented, ever-changing argument string to inputd! I imagine you could even use inputd to modify the inputs to inputd while passing arguments to inputd. I can see the turtles all the way down!
Once systemd firmly requires inputd and outputd and those have royally screwed up the regular /bin/sh environment, then it will be time for the systemd team to come out with /bin/sh_d, which will be nothing more than a simlink to /bin/registryd or the like.
cats~$ sudo chown -R us /home/base