this post was submitted on 22 Jun 2023
319 points (99.1% liked)
Programming
17354 readers
323 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities [email protected]
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Log4j was a fun one to watch unfold everywhere when things went haywire
The neat thing about the log4j thing was even a cursory explanation of the vulnerability made anyone with a passing familiarity with security say, "Why the fuck would that even be a feature?!"
What was it?
https://theconversation.com/what-is-log4j-a-cybersecurity-expert-explains-the-latest-internet-vulnerability-how-bad-it-is-and-whats-at-stake-173896
Basically it involved parsing JNDI stuff which involved grabbing remote code (but that was a niche feature of JNDI in the Dev's defense). Basically, you may think it is just something like variable substitution but can involve much crazier stuff.
Edit: and for more context, JNDI is typically a thing for getting a database connection stored on the application server. The idea being you just ask for "customer database" and don't have to define the connection in the code. The server has it defined elsewhere. So in each environment it works the same. Basically glorified and standardized config file type of thing.
this is cool
Wait until you learn that PDFs support embedded Javascript.
????????? What the what now?
That was not a fun week to be a developer.
As a non-java company developer at the time, I think our biggest challenge was explaining to everyone that Log4j didn't affect us. It took a non-zero amount of effort because a lot of customers panicked. To be fair, it was also an industry where confidentiality is important.
Also a lot of people were pulling it transitively.
Oh man. I missed it by like a month. I graduated with my bachelors in December, and started in January. I was hearing horror stories from my new coworkers about how people had to cancel vacations to get stuff patched asap
It was if none of your code used log4j. I remember being very grateful that I had chosen
java.util.logging
and Logback for my Java logging needs.Lol, yeah for us we didn't own any of the code that used it but depended on server software made internally that did. At the time we managed our own hosts, so it was a long week of deployments.
That one was so annoying because you had to be using the log server to have any issues. If your network was locked down, the log server was disabled, or if you happened to be using a version that was from before the log server was added, then there were no issues. But clients just heard "log4j" and thought it was unsafe.
'clients' are really dumb sometimes...
Couldn't remember which logging library it was, thanks for mentioning it, it would have low-key bugged me all day.