Christian Lehnert — Linux, Hacking & Faith

tag: #security

10 posts
6 days ago run0 vs sudo - Escalating Privilege Without a setuid Binary

sudo's oldest weakness is structural - it is a large setuid program that starts as root holding a process the untrusted user built. run0, from systemd 256, escalates the opposite way, by asking the already-privileged systemd to spawn a clean process with no inherited context and no setuid anywhere. Here is the real architectural difference, when it matters, and why sudo still wins for automation.

#linux #systemd #sudo #run0 #security
1 week ago Phishing-Resistant Auth - Why Your MFA Does Not Stop Phishing, and What Does

Most MFA does not stop phishing. SMS, TOTP, and push approvals are all secrets the user can be tricked into handing over, and in 2026 the tools that trick them are a commercial service. Only one thing actually stops it: an authenticator that is cryptographically bound to the real site's origin, so it stays silent on the fake one. That is FIDO2, and it is the whole point.

#security #authentication #mfa #passkeys
1 month ago Kubernetes Secrets Are Not Secret

A Kubernetes Secret sounds like it protects something. By default it does not. The value is base64, not encrypted, sitting in etcd in a form anyone with the right access reads in one command. The name promises confidentiality the object does not provide, and the gap is where the incident comes from.

#kubernetes #secrets #security
1 month ago JWT for Sessions

At some point JWTs became the default answer to "how do I keep a user logged in." For most applications it was the wrong choice. A JWT's headline feature is that the server does not remember it, which is the same sentence as "the server cannot forget it" — so you cannot revoke a session when you need to. Add the algorithm confusion attacks the format invites, and the boring opaque session cookie turns out to be safer, simpler, and revocable for anything that does not need stateless cross-boundary verification.

#security #jwt #authentication #web-security
1 month ago Storing Passwords - Why the Fast Hash Is the Bug

Storing passwords is the one piece of cryptography almost every backend engineer has to get right, and the mistake is always the same: reaching for a hash function that is good at being fast. For passwords, fast is the vulnerability. The whole discipline is a story about choosing a function that is deliberately, tunably slow, and this is the 2026 version of how to get it right.

#security #cryptography #hashing
1/3 older >