OMG. -froot bug resurfaced. https://seclists.org/oss-sec/2026/q1/89
I see the headlines, "10 years old bug".
My friends, this bug is older. Much older. Not this particular instance, but it is a classical mistake to make. It's a command line injection when calling the login executable.
Some people point to CVE-2007-0882. Solaris had that, almost 20 years ago.
But it's even older than that. It's so old it predates the CVE system. I don't remember exact dates, but we popped Linux and AIX boxes with that, mid 90s.
But it is *even older* than that. Have a look at System V R4, ©1990, getty calling login with unsanitized input:
https://github.com/calmsacibis995/svr4-src/blob/7dabeda6fc10bd1bbd1a84d502f05642b1bf0c9e/cmd/getty/getty.c#L526
But how deep does the rabbit hole go? When was this bug introduced?
Getty called login with user input since the dawn of time (UNIX V2, 1972):
https://www.tuhs.org/cgi-bin/utree.pl?file=V2/cmd/getty.s
But this predates command line arguments in login:
https://www.tuhs.org/cgi-bin/utree.pl?file=V2/cmd/login.s
So, when did this particular command line feature of login appear?
In the BSD universe, -f was introduced with POSIX compatibilitiy in 4.3BSD-Reno:
https://www.tuhs.org/cgi-bin/utree.pl?file=4.3BSD-Reno/src/usr.bin/login/login.c
But someone paid attention and filtered out user names starting with - in getty:
https://www.tuhs.org/cgi-bin/utree.pl?file=4.3BSD-Reno/src/libexec/getty/main.c
RCS timestamp says 6/29/1990, so same age as SysV R4.
The original 4.3BSD (1986) doesn't filter the user name:
https://www.tuhs.org/cgi-bin/utree.pl?file=4.3BSD/usr/src/etc/getty/main.c
And it does have a -r option in login:
https://www.tuhs.org/cgi-bin/utree.pl?file=4.3BSD/usr/src/bin/login.c
Exploitable? No idea, argv processing might be a problem. I'll find out another day.
In conclusion: bug existed since 1990, it's so easy to make when implementing POSIX that it keeps resurfacing, and at least one person in Berkeley knew since day 0.