Skip to main content
Redhat Developers  Logo
  • Products

    Featured

    • Red Hat Enterprise Linux
      Red Hat Enterprise Linux Icon
    • Red Hat OpenShift AI
      Red Hat OpenShift AI
    • Red Hat Enterprise Linux AI
      Linux icon inside of a brain
    • Image mode for Red Hat Enterprise Linux
      RHEL image mode
    • Red Hat OpenShift
      Openshift icon
    • Red Hat Ansible Automation Platform
      Ansible icon
    • Red Hat Developer Hub
      Developer Hub
    • View All Red Hat Products
    • Linux

      • Red Hat Enterprise Linux
      • Image mode for Red Hat Enterprise Linux
      • Red Hat Universal Base Images (UBI)
    • Java runtimes & frameworks

      • JBoss Enterprise Application Platform
      • Red Hat build of OpenJDK
    • Kubernetes

      • Red Hat OpenShift
      • Microsoft Azure Red Hat OpenShift
      • Red Hat OpenShift Virtualization
      • Red Hat OpenShift Lightspeed
    • Integration & App Connectivity

      • Red Hat Build of Apache Camel
      • Red Hat Service Interconnect
      • Red Hat Connectivity Link
    • AI/ML

      • Red Hat OpenShift AI
      • Red Hat Enterprise Linux AI
    • Automation

      • Red Hat Ansible Automation Platform
      • Red Hat Ansible Lightspeed
    • Developer tools

      • Red Hat Trusted Software Supply Chain
      • Podman Desktop
      • Red Hat OpenShift Dev Spaces
    • Developer Sandbox

      Developer Sandbox
      Try Red Hat products and technologies without setup or configuration fees for 30 days with this shared Openshift and Kubernetes cluster.
    • Try at no cost
  • Technologies

    Featured

    • AI/ML
      AI/ML Icon
    • Linux
      Linux Icon
    • Kubernetes
      Cloud icon
    • Automation
      Automation Icon showing arrows moving in a circle around a gear
    • View All Technologies
    • Programming Languages & Frameworks

      • Java
      • Python
      • JavaScript
    • System Design & Architecture

      • Red Hat architecture and design patterns
      • Microservices
      • Event-Driven Architecture
      • Databases
    • Developer Productivity

      • Developer productivity
      • Developer Tools
      • GitOps
    • Secure Development & Architectures

      • Security
      • Secure coding
    • Platform Engineering

      • DevOps
      • DevSecOps
      • Ansible automation for applications and services
    • Automated Data Processing

      • AI/ML
      • Data Science
      • Apache Kafka on Kubernetes
      • View All Technologies
    • Start exploring in the Developer Sandbox for free

      sandbox graphic
      Try Red Hat's products and technologies without setup or configuration.
    • Try at no cost
  • Learn

    Featured

    • Kubernetes & Cloud Native
      Openshift icon
    • Linux
      Rhel icon
    • Automation
      Ansible cloud icon
    • Java
      Java icon
    • AI/ML
      AI/ML Icon
    • View All Learning Resources

    E-Books

    • GitOps Cookbook
    • Podman in Action
    • Kubernetes Operators
    • The Path to GitOps
    • View All E-books

    Cheat Sheets

    • Linux Commands
    • Bash Commands
    • Git
    • systemd Commands
    • View All Cheat Sheets

    Documentation

    • API Catalog
    • Product Documentation
    • Legacy Documentation
    • Red Hat Learning

      Learning image
      Boost your technical skills to expert-level with the help of interactive lessons offered by various Red Hat Learning programs.
    • Explore Red Hat Learning
  • Developer Sandbox

    Developer Sandbox

    • Access Red Hat’s products and technologies without setup or configuration, and start developing quicker than ever before with our new, no-cost sandbox environments.
    • Explore Developer Sandbox

    Featured Developer Sandbox activities

    • Get started with your Developer Sandbox
    • OpenShift virtualization and application modernization using the Developer Sandbox
    • Explore all Developer Sandbox activities

    Ready to start developing apps?

    • Try at no cost
  • Blog
  • Events
  • Videos

Log4Shell: The vulnerability that shook the world of software development

A comprehensive approach to evaluating your technology stack and preventing the next big security crisis

October 23, 2024
Herve Beraud
Related topics:
DevOpsJavaSecuritySecure Coding
Related products:
Red Hat build of OpenJDKRed Hat JBoss Enterprise Application PlatformRed Hat JBoss Web Server

Share:

    In December 2021, a critical security vulnerability named Log4Shell was discovered in the Log4j library, a logging tool widely used in Java applications around the world. Identified as CVE-2021-44228, it was quickly labeled as one of the most severe of the decade. The National Institute of Standards and Technology (NIST) gave it a score of 10/10 on the Common Vulnerability Scoring System (CVSS), marking its maximum level of severity.

    What seemed like an ordinary logging management tool suddenly became a potential entry point for attacks. Log4j, essential for many Java applications, exposed critical infrastructures to a significant risk. If you were using Log4j in your projects, you probably remember the frenzy that followed.

    After the vulnerability was discovered, many attacks targeted unpatched servers. You likely asked yourself at the time, “Is my system vulnerable?” Giants like Red Hat, Amazon Web Services (AWS), Microsoft Azure, and Google Cloud quickly issued urgent alerts. But beyond the patches, this incident raised a broader question: how could such a widespread and reliable technology cause such disruption?

    The financial costs were substantial for many companies, and technical teams—perhaps yours—had to respond quickly to fix the flaw and protect critical infrastructures. Service interruptions and successful attacks resulted in significant losses. But could this crisis have been avoided?

    A method to prevent future incidents: Integrated analysis of your technologies

    The Log4Shell incident was a reminder to everyone about the importance of anticipation. A widely adopted technology can sometimes reveal unexpected vulnerabilities. So, what can you do to avoid being caught off guard next time?

    By adopting an integrated approach to evaluating technologies, you can identify issues before they become critical. This methodology helps you assess your tools from multiple angles—technical, financial, ethical, and even environmental—so you can make informed decisions and avoid unpleasant surprises.

    Why is a multidimensional approach essential?

    Before starting your evaluation, ask yourself this question: do you evaluate your technologies holistically, or do you focus only on one aspect, such as security or cost? A problem rarely arises in just one area. By analyzing at least two criteria, you can spot warning signs and avoid interpretative bias.

    For example, had you evaluated Log4j before the Log4Shell incident, you might have identified that:

    • Security: Log4j had not undergone regular security audits.
    • Finance: Its maintenance was handled by a small volunteer team, a major risk for relying on it for critical systems.

    These signs could have alerted you and encouraged proactive measures. A multidimensional approach helps you better anticipate risks.

    Key areas for a complete evaluation

    Here are a few essential areas to consider when evaluating your technologies. Whether you’re a developer or a manager, have you thought about evaluating technologies in this way?

    1. Finance

    • Maintenance cost: Are the technologies you use profitable in the long run? Log4j was free, but its vulnerability cost millions in fixes. Could one of your libraries face the same fate?
    • Return on Investment (ROI): Do your tools bring more value than risk? If you reevaluated your tools today, what financial aspects would stand out?

    2. Legal compliance

    • Regulations: Do your technologies comply with current regulations, like General Data Protection Regulation (GDPR)? In case of a security breach, would you still be in compliance?
    • Litigation risks: Could a latent issue in your tools expose your company to legal action?

    3. Productivity

    • Efficiency: Do your tools support or hinder your teams’ productivity?
    • Adoption: Is the tool you’re using poorly documented or hard to adopt? Are your teams struggling with it?

    4. Security

    • Regular audits: Are your technologies regularly tested for security vulnerabilities?
    • Recurring incidents: Does a technology present frequent, albeit minor, issues? These signals shouldn’t be ignored.

    5. Ethics

    • Privacy: Do the technologies you use respect user privacy? A vulnerability could compromise sensitive data.
    • Bias: Do the tools you use generate biases, fostering injustice or discrimination?

    6. Environment

    • Energy impact: Have you assessed the environmental footprint of the technologies you use?
    • Sustainability: Are your tools designed to last?

    7. Evolution/compatibility

    • Obsolescence: Will the technology you’re relying on today still be relevant in five years?
    • Incompatibilities: Do frequent incompatibilities with other systems slow down your progress?

    8. User experience (UX)

    • Complexity: If a tool is too complex, how much time are you wasting training your teams?
    • Support and accessibility: Is the support around the tool you’re using sufficient?

    Take action now!

    The Log4Shell case is a reminder: could your projects face a similar risk? Every developer and technical team must adopt constant vigilance in the selection and management of their technologies. Don’t wait for the next crisis to react.

    What actions should you take?

    • Immediate audit: Analyze the critical technologies in your systems. What areas are at risk? If, during your audit, you identify issues in two distinct areas, then you can consider that you have diagnosed a genuine problem.
    • Update plan: Implement a regular maintenance plan. Are all your tools up to date and secure?
    • Invest in security: Never underestimate the importance of regular audits and security testing.

    Don’t wait for the next crisis to act. Use this evaluation grid today to ensure that your technologies are robust, secure, and ready for the future.

    https://www.redhat.com/en/blog/log4shell-practical-mitigations-and-impact-analysis

    Sources

    • CVE-2021-44228 (Log4Shell):
      The detailed CVE for Log4Shell can be found on the official NIST website: NIST National Vulnerability Database (CVE-2021-44228)
    • CVSS score and vulnerability classification:
      The 10/10 CVSS score is documented in the vulnerability database: CVSS Base Metrics for CVE-2021-44228.
    • Exploitability of the Log4Shell vulnerability:
      Details on how this vulnerability was exploited remotely can be in this blog post: Log4Shell explained – how it works.
    • Security alerts issued by tech companies:
      • AWS: AWS Security Bulletin on Log4j.
      • Microsoft Azure: Microsoft Security Response Center Blog on Log4j.
      • Google Cloud: Google Cloud Blog on Log4j.
      • RedHat: RedHat Blog on Practical Mitigations and Impact Analysis of the Log4j Vulnerabilities.
    • Cost estimates related to the Log4Shell vulnerability:
      Financial costs of poor software quality in the US were estimated by the Consortium for Information & Software Quality (CISQ): CISQ’s 2022 Report including Log4j.
    • Log4Shell: Practical Mitigations and Impact Analysis of the Log4j Vulnerabilities. Using Red Hat Advanced Cluster Security for Kubernetes to address urgent vulnerabilities. 
    • Dependency on open-source projects:
      An article from The Linux Foundation explains the challenges of enterprise dependency on open-source projects like Log4j: Open Source Foundations Must Work Together to Prevent the Next Log4Shell Scramble.
    Last updated: January 21, 2025

    Related Posts

    • Using Red Hat Application Migration Toolkit to see the impact of migrating to OpenJDK

    • How Red Hat ported OpenJDK to 64-bit Arm: A community history

    • How Ansible automates JBoss Web Server updates and upgrades

    • Automate Red Hat JBoss Web Server deployments with Ansible

    Recent Posts

    • GuideLLM: Evaluate LLM deployments for real-world inference

    • Unleashing multimodal magic with RamaLama

    • Integrate Red Hat AI Inference Server & LangChain in agentic workflows

    • Streamline multi-cloud operations with Ansible and ServiceNow

    • Automate dynamic application security testing with RapiDAST

    What’s up next?

    This cheat sheet covers how to create a Kubernetes Operator in Java using Quarkus.

    Get the cheat sheet
    Red Hat Developers logo LinkedIn YouTube Twitter Facebook

    Products

    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform

    Build

    • Developer Sandbox
    • Developer Tools
    • Interactive Tutorials
    • API Catalog

    Quicklinks

    • Learning Resources
    • E-books
    • Cheat Sheets
    • Blog
    • Events
    • Newsletter

    Communicate

    • About us
    • Contact sales
    • Find a partner
    • Report a website issue
    • Site Status Dashboard
    • Report a security problem

    RED HAT DEVELOPER

    Build here. Go anywhere.

    We serve the builders. The problem solvers who create careers with code.

    Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

    Sign me up

    Red Hat legal and privacy links

    • About Red Hat
    • Jobs
    • Events
    • Locations
    • Contact Red Hat
    • Red Hat Blog
    • Inclusion at Red Hat
    • Cool Stuff Store
    • Red Hat Summit

    Red Hat legal and privacy links

    • Privacy statement
    • Terms of use
    • All policies and guidelines
    • Digital accessibility

    Report a website issue