Log4j Remote Code Execution (RCE) Flow in FilteredObjectInputStream (no CVE & Patch yet)
A critical zero-dayRemote Code Execution (RCE) vulnerability has been disclosed recently which affecting Apache Log4j, arising from a bypass of the FilteredObjectInputStream (FOIS) deserialization allowlist. The vulnerability affects log4j-api versions 2.11.0 through 2.26.1 and log4j-core versions 2.8.0 through 2.26.1. Whilst the vulnerability has not yet been exploited in the wild, the Proof-of-Concept (PoC) availability and historic, widespread exploitation suggests that malicious actors may quickly weaponize the flaw. Affected system owners are strongly recommended to follow the recommendations below to reduce potential risks, and monitor for the official fix for patching asap.
Vulnerability
Log4j Remote Code Execution (RCE) Flaw in FilteredObjectInputStream (no CVE assigned or Patch available)
Exploitation requires that a target application expose an unauthenticated, FOIS-based serialized-LogEvent receiver (e.g. Log4j’s socket server/appender bridge) reachable over TCP, plus a usable deserialization gadget (e.g. Commons Collections) on the application’s classpath – at that point, a single crafted serialized message can achieve unfiltered remote code execution with no attacker class required on the victim.
Severity Level
Critical
Affected Versions
log4j-api versions 2.11.0 through 2.26.1
log4j-core versions 2.8.0 through 2.26.1
The flaw is platform-independent and has been reproduced across tested JDK versions (confirmed on JDK 17). It is recommended to treat all Log4j deployments that use the socket-based serialized LogEvent receiver as at risk until Apache publishes official version guidance.
Recommendation
At this moment, the Apache Logging Services project has not released an official patch, advisory, or workaround specifically addressing this FilteredObjectInputStream bypass. Until an advisory or fix becomes available, please take the following recommended actions:
Apply the JVM serial filter to block the exploited class: set -Djdk.serialFilter=’!java.rmi.MarshalledObject’ (or the equivalent jdk.serialFilter security property) on any JVM running a Log4j socket-based LogEvent receiver.
Identify and inventory any application using Log4j’s SocketAppender/SocketServer, or other components that accept serialized LogEvent objects over the network.
Restrict network access to any FOIS-based serialized-LogEvent receiver to trusted hosts only via firewall/network segmentation; do not expose these ports to the internet.
Where feasible, migrate serialized-event transport to a non-serialization format (JSON or RFC 5424 syslog) over authenticated TLS, eliminating the vulnerable code path entirely.
Audit application classpaths for known deserialization gadget libraries (e.g. Commons Collections) and remove or upgrade where not required.
Enable logging/monitoring on any exposed LogEvent receiver for anomalous or oversized serialized payloads, and alert on unexpected process spawns from Java processes hosting Log4j.
Monitor Apache’s public issue tracker (GitHub issue #4255) and the Log4j2 release notes for an official fix, and prioritise patch deployment once available.
This website uses Cookies, including Cookies from Google Analytics, to ensure you get the best browsing experience. If you “Continue” to use this site, you consent to the use of Cookies. Read more about Cookies
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Duration
Description
cookielawinfo-checkbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.