Just found out about a few Local Privilege Escalations in needrestart(8) that were announced last tuesday:
https://www.openwall.com/lists/oss-security/2024/11/19/1
I gotta say they're quite hilarious,.
Just found out about a few Local Privilege Escalations in needrestart(8) that were announced last tuesday:
https://www.openwall.com/lists/oss-security/2024/11/19/1
I gotta say they're quite hilarious,.
@lanodan I think it's neat that it tries to find non-compiled / bytecode libraries that were updated.
But when reading how it goes about this in case of Python:
- read processe's PYTHONPATH - ok so far so good
- put it in your own env - uh, are you sure you know what you're...
- fork+exec /proc/$pid/exe - YOU WHAT MATE?
@wolf480pl Oh… interesting kind of behavior, I guess that's due to the large amount of files libraries have due to not packing into something like a .a file.
Although feels pretty weird to me to not at least keep them mmap'ed (which doesn't prevents a close), specially in Python where import is done at runtime.
@wolf480pl I mean that for Python/Perl their installation is a bunch of files which aren't packed into an archive, typical Unix way being .a (from the ar utility).
@lanodan
> I guess that's due to the large amount of files libraries have due to not packing into something like a .a file.
This sentence does not parse to me.
Anyway, the point is to `print(sys.path)` and then figure out which .py files are^W might be being used. And I guess python interpreter never mmaps them, just opens the file, reads while parsing, and then closes the FD.
@wolf480pl > Also, it's not about python/perl interpreter itself, it's about the libraries written in those languages.
Yeah I know, that's the part I'm talking about, the bunch of *.py/*.pyc files. ar(1) isn't just for binaries (and well *.pyc is a binary blob, just not native).
@lanodan why would they be packed into an archive in their installed form?
The only way I've seen those used is a) extracting them with ar, and b) passing them to a linker
Also, it's not about python/perl interpreter itself, it's about the libraries written in those languages.
@wolf480pl And avoiding nasty runtime errors is one of the reasons why I'd pack them and hold an fd.
This way if the library gets updated and library/program import a subset of it that it didn't previously load, it doesn't means it suddenly crashes because either file got missing, or worse gives you some form of API mismatch or corruption.
@Suiseiseki do you use Debian?
@Suiseiseki also, what's the deal with debian installer being proprietary?
@Suiseiseki hate to break it to you, but a lot of people do.
@Suiseiseki you don't have to explain blobs to me, I know the general problem.
I was just hoping you'd provide a link to an announcement or commit message so that I can figure out for myself which proproetary software they distribute and when they started to do so / when they stopped supplying the blob-free version of the installer.
@Suiseiseki s/commit message/vcs commit/
GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.
All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.