DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • How To Detect and Secure Your Java App From Log4j Vulnerabilities
  • The DevSecOps Paradox: Why Security Automation Is Both Solving and Creating Pipeline Vulnerabilities
  • Building an OWASP 2025 Security Scanner in 48 Hours
  • DevSecConflict: How Google Project Zero and FFmpeg Went Viral For All the Wrong Reasons

Trending

  • Exactly-Once Processing: Myth vs Reality
  • How to Format Articles for DZone
  • Detecting Bugs and Vulnerabilities in Java With SonarQube
  • How SaaS Architectures Break at Scale — and the Engineering Decisions That Prevent It
  1. DZone
  2. Software Design and Architecture
  3. Security
  4. How We Handled the Log4j Security Vulnerability

How We Handled the Log4j Security Vulnerability

Learn how we used Lattix Architect to find instances of log4j in their codebase and estimate how long it would take them to patch and test it.

By 
Sean Barow user avatar
Sean Barow
·
Jan. 05, 22 · Review
Likes (3)
Comment
Save
Tweet
Share
4.5K Views

Join the DZone community and get the full member experience.

Join For Free

"The log4j vulnerability is the most serious vulnerability I have seen in my decades-long career", Jen Easterly US Cybersecurity and Infrastructure Security Agency Director 

Lattix Codebase DSM

Log4j is a Java-based logging utility part of the Apache logging services. This is a popular logging tool used in tens of thousands of software packages. Google estimates that 8% of Maven Central Repository was affected with about 7000 artifacts directly dependent on log4j (either a version of log4j-core or log4j-api). Every major software company went into crisis mode, they were trying to figure out how their products could possibly be affected and if so how they were going to patch the vulnerability. Lattix being a Java-based application also needed to scan its codebase.

We Used Lattix Architect To Find and Plan Our Log4j Patch

Development teams generally have a lack of visibility into their dependencies which makes patching a security vulnerability like log4j more difficult. Since the Lattix development team uses Lattix Architect we have a complete understanding of all of our dependencies. How did we find and plan our fix for the log4j vulnerability?

1. We loaded Lattix codebase into Lattix Architect. Since we run our codebase nightly in a Gitlab pipeline, we already had an up-to-date snapshot of the codebase and could easily see the dependencies in a Dependency Structure Matrix.

Lattix Codebase DSM

2. Then we checked for the usage of Log4j in the Lattix codebase. This is easy with Lattix Architect. The usage tab enables a very detailed analysis and drill-down of dependencies. The usage tab contains two panes - a Used By pane at the top and a Uses pane at the bottom. The uses pane shows all the external subsystems. You can then drill down further by selecting an external subsystem (in Java it shows everything based on namespaces). 

Apache Log4j uses

We were able to determine that Lattix did use log4j, but it was an older version of log4j which did not have the current security vulnerability. Since we were using an older version of log4j it did have other vulnerabilities so we decided to upgrade to the latest version anyway.

3. Next we estimated how much work it would be to create a patch. Again in the usage tab, the Used By pane lists all the users of the log4j external dependency within the Lattix codebase. 

Apache Log4j Used By Pane

This lets us know everywhere we need to make changes in the codebase. So we have a quick snapshot of how much work it will be to patch this vulnerability. This also gives us the confidence that we have found all instances in the codebase that use log4j. Later this view will also allow us to plan our testing to make sure that after the upgrade of log4j all the logging is still working as expected. 

Conclusion

Lattix Architect allowed us to quickly (less than 10 minutes) find and scope the problem with log4j in our codebase. We were able to accurately estimate how long it would take to fix and release a patch to Lattix Architect. We also had the confidence that we had all the instances of log4j and could test everything that was needed.  

Log4j Vulnerability security

Published at DZone with permission of Sean Barow. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • How To Detect and Secure Your Java App From Log4j Vulnerabilities
  • The DevSecOps Paradox: Why Security Automation Is Both Solving and Creating Pipeline Vulnerabilities
  • Building an OWASP 2025 Security Scanner in 48 Hours
  • DevSecConflict: How Google Project Zero and FFmpeg Went Viral For All the Wrong Reasons

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook