OESA-2021-1474 (CVE-2021-45105)
Vulnerability from osv_openeuler – Published: 2021-12-25 11:04 – Updated: 2026-08-06 11:04 – Source websiteLog4j is a tool to help the programmer output log statements to a variety of output targets.
Security Fix(es):
Apache Log4j2 versions 2.0-alpha1 through 2.16.0 (excluding 2.12.3) did not protect from uncontrolled recursion from self-referential lookups. This allows an attacker with control over Thread Context Map data to cause a denial of service when a crafted string is interpreted. This issue was fixed in Log4j 2.17.0 and 2.12.3.(CVE-2021-45105) It was found that the fix to address CVE-2021-44228 in Apache Log4j 2.15.0 was incomplete in certain non-default configurations. This could allows attackers with control over Thread Context Map (MDC) input data when the logging configuration uses a non-default Pattern Layout with either a Context Lookup (for example, $${ctx:loginId}) or a Thread Context Map pattern (%X, %mdc, or %MDC) to craft malicious input data using a JNDI Lookup pattern resulting in a denial of service (DOS) attack. Log4j 2.15.0 makes a best-effort attempt to restrict JNDI LDAP lookups to localhost by default. Log4j 2.16.0 fixes this issue by removing support for message lookup patterns and disabling JNDI functionality by default.(CVE-2021-45046) The details of a high-risk vulnerability in Apache Log4j2 have been disclosed. Attackers can use the vulnerability to execute code remotely. Some reports carry suspected POC, Apache Log4j2 is a Java-based logging tool. This tool rewrites the Log4j framework and introduces a large number of rich features. The log framework is widely used in business system development to record log information. In most cases, developers may write error messages caused by user input into the log. The trigger condition of this vulnerability is that as long as the data input by external users will be recorded in the log, it can cause remote code execution.(CVE-2021-44228)
| URL | Type | |
|---|---|---|
{
"affected": [
{
"ecosystem_specific": {
"noarch": [
"log4j-help-2.17.0-1.oe1.noarch.rpm",
"log4j-taglib-2.17.0-1.oe1.noarch.rpm",
"log4j-slf4j-2.17.0-1.oe1.noarch.rpm",
"log4j-web-2.17.0-1.oe1.noarch.rpm",
"log4j-jmx-gui-2.17.0-1.oe1.noarch.rpm",
"log4j-jcl-2.17.0-1.oe1.noarch.rpm",
"log4j-2.17.0-1.oe1.noarch.rpm",
"log4j-bom-2.17.0-1.oe1.noarch.rpm",
"mybatis-3.2.8-3.oe1.noarch.rpm",
"mybatis-javadoc-3.2.8-3.oe1.noarch.rpm",
"netty-4.1.13-15.oe1.noarch.rpm",
"netty-help-4.1.13-15.oe1.noarch.rpm",
"springframework-3.2.18-10.oe1.noarch.rpm",
"springframework-aop-3.2.18-10.oe1.noarch.rpm",
"springframework-beans-3.2.18-10.oe1.noarch.rpm",
"springframework-context-3.2.18-10.oe1.noarch.rpm",
"springframework-expression-3.2.18-10.oe1.noarch.rpm",
"springframework-help-3.2.18-10.oe1.noarch.rpm",
"springframework-instrument-3.2.18-10.oe1.noarch.rpm",
"springframework-jdbc-3.2.18-10.oe1.noarch.rpm",
"springframework-jms-3.2.18-10.oe1.noarch.rpm",
"springframework-orm-3.2.18-10.oe1.noarch.rpm",
"springframework-orm-hibernate4-3.2.18-10.oe1.noarch.rpm",
"springframework-oxm-3.2.18-10.oe1.noarch.rpm",
"springframework-tx-3.2.18-10.oe1.noarch.rpm",
"springframework-web-3.2.18-10.oe1.noarch.rpm",
"wildfly-security-manager-1.1.2-2.oe1.noarch.rpm",
"wildfly-security-manager-javadoc-1.1.2-2.oe1.noarch.rpm",
"wildfly-elytron-1.0.2-2.oe1.noarch.rpm",
"wildfly-elytron-javadoc-1.0.2-2.oe1.noarch.rpm",
"wildfly-build-tools-1.1.6-2.oe1.noarch.rpm",
"wildfly-build-tools-javadoc-1.1.6-2.oe1.noarch.rpm",
"wildfly-feature-pack-build-maven-plugin-1.1.6-2.oe1.noarch.rpm",
"wildfly-server-provisioning-1.1.6-2.oe1.noarch.rpm",
"wildfly-server-provisioning-maven-plugin-1.1.6-2.oe1.noarch.rpm",
"wildfly-server-provisioning-standalone-1.1.6-2.oe1.noarch.rpm",
"wildfly-common-1.1.0-8.oe1.noarch.rpm",
"wildfly-common-help-1.1.0-8.oe1.noarch.rpm",
"wildfly-core-2.2.0-3.oe1.noarch.rpm",
"wildfly-core-feature-pack-2.2.0-3.oe1.noarch.rpm",
"wildfly-core-javadoc-2.2.0-3.oe1.noarch.rpm",
"libthrift-java-0.14.0-5.oe1.noarch.rpm",
"perl-thrift-0.14.0-5.oe1.noarch.rpm",
"python3-thrift-0.14.0-5.oe1.noarch.rpm",
"thrift-0.14.0-5.oe1.noarch.rpm",
"thrift-debugsource-0.14.0-5.oe1.noarch.rpm",
"thrift-devel-0.14.0-5.oe1.noarch.rpm",
"thrift-glib-0.14.0-5.oe1.noarch.rpm",
"thrift-qt-0.14.0-5.oe1.noarch.rpm",
"jenkins-json-lib-2.4-19.oe1.noarch.rpm",
"json-lib-2.4-19.oe1.noarch.rpm",
"json-lib-help-2.4-19.oe1.noarch.rpm",
"datanucleus-api-jdo-3.2.15-3.oe1.noarch.rpm",
"datanucleus-core-javadoc-3.2.15-3.oe1.noarch.rpm",
"jgroups-3.6.10-8.oe1.noarch.rpm",
"jgroups-help-3.6.10-8.oe1.noarch.rpm",
"mx4j-3.0.1-3.oe1.noarch.rpm",
"mx4j-javadoc-3.0.1-3.oe1.noarch.rpm",
"mx4j-manual-3.0.1-3.oe1.noarch.rpm",
"jboss-logging-3.3.0-7.oe1.noarch.rpm",
"jboss-logging-javadoc-3.3.0-7.oe1.noarch.rpm",
"infinispan-8.2.4-10.oe1.noarch.rpm",
"infinispan-help-8.2.4-10.oe1.noarch.rpm",
"datanucleus-rdbms-3.2.13-4.oe1.noarch.rpm",
"datanucleus-rdbms-javadoc-3.2.13-4.oe1.noarch.rpm",
"avalon-logkit-2.1-34.oe1.noarch.rpm",
"avalon-logkit-help-2.1-34.oe1.noarch.rpm",
"datanucleus-api-jdo-3.2.8-3.oe1.noarch.rpm",
"datanucleus-api-jdo-javadoc-3.2.8-3.oe1.noarch.rpm",
"avalon-framework-4.3-24.oe1.noarch.rpm",
"avalon-framework-help-4.3-24.oe1.noarch.rpm",
"HikariCP-2.4.3-6.oe1.noarch.rpm",
"HikariCP-help-2.4.3-6.oe1.noarch.rpm",
"metrics-3.1.2-3.oe1.noarch.rpm",
"metrics-annotation-3.1.2-3.oe1.noarch.rpm",
"metrics-benchmarks-3.1.2-3.oe1.noarch.rpm",
"metrics-doc-3.1.2-3.oe1.noarch.rpm",
"metrics-ehcache-3.1.2-3.oe1.noarch.rpm",
"metrics-ganglia-3.1.2-3.oe1.noarch.rpm",
"metrics-graphite-3.1.2-3.oe1.noarch.rpm",
"metrics-healthchecks-3.1.2-3.oe1.noarch.rpm",
"metrics-httpasyncclient-3.1.2-3.oe1.noarch.rpm",
"metrics-httpclient-3.1.2-3.oe1.noarch.rpm",
"metrics-javadoc-3.1.2-3.oe1.noarch.rpm",
"metrics-jdbi-3.1.2-3.oe1.noarch.rpm",
"metrics-jersey2-3.1.2-3.oe1.noarch.rpm",
"metrics-json-3.1.2-3.oe1.noarch.rpm",
"metrics-jvm-3.1.2-3.oe1.noarch.rpm",
"metrics-log4j-3.1.2-3.oe1.noarch.rpm",
"metrics-log4j2-3.1.2-3.oe1.noarch.rpm",
"metrics-logback-3.1.2-3.oe1.noarch.rpm",
"metrics-parent-3.1.2-3.oe1.noarch.rpm",
"metrics-servlet-3.1.2-3.oe1.noarch.rpm",
"metrics-servlets-3.1.2-3.oe1.noarch.rpm"
],
"src": [
"log4j-2.17.0-1.oe1.src.rpm",
"mybatis-3.2.8-3.oe1.src.rpm",
"springframework-3.2.18-10.oe1.src.rpm",
"netty-4.1.13-14.oe1.src.rpm",
"wildfly-security-manager-1.1.2-2.oe1.src.rpm",
"wildfly-elytron-1.0.2-2.oe1.src.rpm",
"wildfly-build-tools-1.1.6-2.oe1.src.rpm",
"wildfly-common-1.1.0-8.oe1.src.rpm",
"wildfly-core-2.2.0-3.oe1.src.rpm",
"thrift-0.14.0-5.oe1.src.rpm",
"json-lib-2.4-19.oe1.src.rpm",
"datanucleus-core-3.2.15-3.oe1.src.rpm",
"jgroups-3.6.10-8.oe1.src.rpm",
"mx4j-3.0.1-3.oe1.src.rpm",
"jboss-logging-3.3.0-7.src.rpm",
"infinispan-8.2.4-10.oe1.src.rpm",
"datanucleus-rdbms-3.2.13-4.oe1.src.rpm",
"avalon-logkit-2.1-34.oe1.src.rpm",
"datanucleus-api-jdo-3.2.8-3.oe1.src.rpm",
"datanucleus-core-3.2.15-3.oe1.src.rpm",
"HikariCP-2.4.3-6.oe1.src.rpm",
"metrics-3.1.2-3.oe1.src.rpm"
]
},
"package": {
"ecosystem": "openEuler:20.03-LTS-SP1",
"name": "log4j,mybatis,netty,springframework,wildfly-security-manager,wildfly-elytron,wildfly-build-tools,wildfly-common,wildfly-core,thrift,json-lib,datanucleus-core,jgroups,mx4j,jboss-logging,infinispan,datanucleus-rdbms,avalon-logkit,datanucleus-api-jdo,avalon-framework,HikariCP,metrics",
"purl": "pkg:rpm/openEuler/log4j,mybatis,netty,springframework,wildfly-security-manager,wildfly-elytron,wildfly-build-tools,wildfly-common,wildfly-core,thrift,json-lib,datanucleus-core,jgroups,mx4j,jboss-logging,infinispan,datanucleus-rdbms,avalon-logkit,datanucleus-api-jdo,avalon-framework,HikariCP,metrics\u0026distro=openEuler-20.03-LTS-SP1"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "metrics-3.1.2-3.oe1"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"ecosystem_specific": {
"noarch": [
"log4j-help-2.17.0-1.oe1.noarch.rpm",
"log4j-taglib-2.17.0-1.oe1.noarch.rpm",
"log4j-slf4j-2.17.0-1.oe1.noarch.rpm",
"log4j-web-2.17.0-1.oe1.noarch.rpm",
"log4j-jmx-gui-2.17.0-1.oe1.noarch.rpm",
"log4j-jcl-2.17.0-1.oe1.noarch.rpm",
"log4j-2.17.0-1.oe1.noarch.rpm",
"log4j-bom-2.17.0-1.oe1.noarch.rpm",
"mybatis-3.2.8-3.oe1.noarch.rpm",
"mybatis-javadoc-3.2.8-3.oe1.noarch.rpm",
"netty-4.1.13-15.oe1.noarch.rpm",
"netty-help-4.1.13-15.oe1.noarch.rpm",
"springframework-3.2.18-10.oe1.noarch.rpm",
"springframework-aop-3.2.18-10.oe1.noarch.rpm",
"springframework-beans-3.2.18-10.oe1.noarch.rpm",
"springframework-context-3.2.18-10.oe1.noarch.rpm",
"springframework-expression-3.2.18-10.oe1.noarch.rpm",
"springframework-help-3.2.18-10.oe1.noarch.rpm",
"springframework-instrument-3.2.18-10.oe1.noarch.rpm",
"springframework-jdbc-3.2.18-10.oe1.noarch.rpm",
"springframework-jms-3.2.18-10.oe1.noarch.rpm",
"springframework-orm-3.2.18-10.oe1.noarch.rpm",
"springframework-orm-hibernate4-3.2.18-10.oe1.noarch.rpm",
"springframework-oxm-3.2.18-10.oe1.noarch.rpm",
"springframework-tx-3.2.18-10.oe1.noarch.rpm",
"springframework-web-3.2.18-10.oe1.noarch.rpm",
"wildfly-security-manager-1.1.2-2.oe1.noarch.rpm",
"wildfly-security-manager-javadoc-1.1.2-2.oe1.noarch.rpm",
"wildfly-elytron-1.0.2-2.oe1.noarch.rpm",
"wildfly-elytron-javadoc-1.0.2-2.oe1.noarch.rpm",
"wildfly-build-tools-1.1.6-2.oe1.noarch.rpm",
"wildfly-build-tools-javadoc-1.1.6-2.oe1.noarch.rpm",
"wildfly-feature-pack-build-maven-plugin-1.1.6-2.oe1.noarch.rpm",
"wildfly-server-provisioning-1.1.6-2.oe1.noarch.rpm",
"wildfly-server-provisioning-maven-plugin-1.1.6-2.oe1.noarch.rpm",
"wildfly-server-provisioning-standalone-1.1.6-2.oe1.noarch.rpm",
"wildfly-common-1.1.0-8.oe1.noarch.rpm",
"wildfly-common-help-1.1.0-8.oe1.noarch.rpm",
"wildfly-core-2.2.0-3.oe1.noarch.rpm",
"wildfly-core-feature-pack-2.2.0-3.oe1.noarch.rpm",
"wildfly-core-javadoc-2.2.0-3.oe1.noarch.rpm",
"libthrift-java-0.14.0-5.oe1.noarch.rpm",
"perl-thrift-0.14.0-5.oe1.noarch.rpm",
"python3-thrift-0.14.0-5.oe1.noarch.rpm",
"thrift-0.14.0-5.oe1.noarch.rpm",
"thrift-debugsource-0.14.0-5.oe1.noarch.rpm",
"thrift-devel-0.14.0-5.oe1.noarch.rpm",
"thrift-glib-0.14.0-5.oe1.noarch.rpm",
"thrift-qt-0.14.0-5.oe1.noarch.rpm",
"jenkins-json-lib-2.4-19.oe1.noarch.rpm",
"json-lib-2.4-19.oe1.noarch.rpm",
"json-lib-help-2.4-19.oe1.noarch.rpm",
"datanucleus-api-jdo-3.2.15-3.oe1.noarch.rpm",
"datanucleus-core-javadoc-3.2.15-3.oe1.noarch.rpm",
"jgroups-3.6.10-8.oe1.noarch.rpm",
"jgroups-help-3.6.10-8.oe1.noarch.rpm",
"mx4j-3.0.1-3.oe1.noarch.rpm",
"mx4j-javadoc-3.0.1-3.oe1.noarch.rpm",
"mx4j-manual-3.0.1-3.oe1.noarch.rpm",
"jboss-logging-3.3.0-7.oe1.noarch.rpm",
"jboss-logging-javadoc-3.3.0-7.oe1.noarch.rpm",
"infinispan-8.2.4-10.oe1.noarch.rpm",
"infinispan-help-8.2.4-10.oe1.noarch.rpm",
"datanucleus-rdbms-3.2.13-4.oe1.noarch.rpm",
"datanucleus-rdbms-javadoc-3.2.13-4.oe1.noarch.rpm",
"avalon-logkit-2.1-34.oe1.noarch.rpm",
"avalon-logkit-help-2.1-34.oe1.noarch.rpm",
"datanucleus-api-jdo-3.2.8-3.oe1.noarch.rpm",
"datanucleus-api-jdo-javadoc-3.2.8-3.oe1.noarch.rpm",
"avalon-framework-4.3-24.oe1.noarch.rpm",
"avalon-framework-help-4.3-24.oe1.noarch.rpm",
"HikariCP-2.4.3-6.oe1.noarch.rpm",
"HikariCP-help-2.4.3-6.oe1.noarch.rpm",
"metrics-3.1.2-3.oe1.noarch.rpm",
"metrics-annotation-3.1.2-3.oe1.noarch.rpm",
"metrics-benchmarks-3.1.2-3.oe1.noarch.rpm",
"metrics-doc-3.1.2-3.oe1.noarch.rpm",
"metrics-ehcache-3.1.2-3.oe1.noarch.rpm",
"metrics-ganglia-3.1.2-3.oe1.noarch.rpm",
"metrics-graphite-3.1.2-3.oe1.noarch.rpm",
"metrics-healthchecks-3.1.2-3.oe1.noarch.rpm",
"metrics-httpasyncclient-3.1.2-3.oe1.noarch.rpm",
"metrics-httpclient-3.1.2-3.oe1.noarch.rpm",
"metrics-javadoc-3.1.2-3.oe1.noarch.rpm",
"metrics-jdbi-3.1.2-3.oe1.noarch.rpm",
"metrics-jersey2-3.1.2-3.oe1.noarch.rpm",
"metrics-json-3.1.2-3.oe1.noarch.rpm",
"metrics-jvm-3.1.2-3.oe1.noarch.rpm",
"metrics-log4j-3.1.2-3.oe1.noarch.rpm",
"metrics-log4j2-3.1.2-3.oe1.noarch.rpm",
"metrics-logback-3.1.2-3.oe1.noarch.rpm",
"metrics-parent-3.1.2-3.oe1.noarch.rpm",
"metrics-servlet-3.1.2-3.oe1.noarch.rpm",
"metrics-servlets-3.1.2-3.oe1.noarch.rpm"
],
"src": [
"log4j-2.17.0-1.oe1.src.rpm",
"mybatis-3.2.8-3.oe1.src.rpm",
"springframework-3.2.18-10.oe1.src.rpm",
"netty-4.1.13-14.oe1.src.rpm",
"wildfly-security-manager-1.1.2-2.oe1.src.rpm",
"wildfly-elytron-1.0.2-2.oe1.src.rpm",
"wildfly-build-tools-1.1.6-2.oe1.src.rpm",
"wildfly-common-1.1.0-8.oe1.src.rpm",
"wildfly-core-2.2.0-3.oe1.src.rpm",
"thrift-0.14.0-5.oe1.src.rpm",
"json-lib-2.4-19.oe1.src.rpm",
"datanucleus-core-3.2.15-3.oe1.src.rpm",
"jgroups-3.6.10-8.oe1.src.rpm",
"mx4j-3.0.1-3.oe1.src.rpm",
"jboss-logging-3.3.0-7.src.rpm",
"infinispan-8.2.4-10.oe1.src.rpm",
"datanucleus-rdbms-3.2.13-4.oe1.src.rpm",
"avalon-logkit-2.1-34.oe1.src.rpm",
"datanucleus-api-jdo-3.2.8-3.oe1.src.rpm",
"datanucleus-core-3.2.15-3.oe1.src.rpm",
"HikariCP-2.4.3-6.oe1.src.rpm",
"metrics-3.1.2-3.oe1.src.rpm"
]
},
"package": {
"ecosystem": "openEuler:20.03-LTS-SP2",
"name": "log4j,mybatis,netty,springframework,wildfly-security-manager,wildfly-elytron,wildfly-build-tools,wildfly-common,wildfly-core,thrift,json-lib,datanucleus-core,jgroups,mx4j,jboss-logging,infinispan,datanucleus-rdbms,avalon-logkit,datanucleus-api-jdo,avalon-framework,HikariCP,metrics",
"purl": "pkg:rpm/openEuler/log4j,mybatis,netty,springframework,wildfly-security-manager,wildfly-elytron,wildfly-build-tools,wildfly-common,wildfly-core,thrift,json-lib,datanucleus-core,jgroups,mx4j,jboss-logging,infinispan,datanucleus-rdbms,avalon-logkit,datanucleus-api-jdo,avalon-framework,HikariCP,metrics\u0026distro=openEuler-20.03-LTS-SP2"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "metrics-3.1.2-3.oe1"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"database_specific": {
"severity": "Critical"
},
"details": "Log4j is a tool to help the programmer output log statements to a variety of output targets.\r\n\r\nSecurity Fix(es):\r\n\r\nApache Log4j2 versions 2.0-alpha1 through 2.16.0 (excluding 2.12.3) did not protect from uncontrolled recursion from self-referential lookups. This allows an attacker with control over Thread Context Map data to cause a denial of service when a crafted string is interpreted. This issue was fixed in Log4j 2.17.0 and 2.12.3.(CVE-2021-45105)\nIt was found that the fix to address CVE-2021-44228 in Apache Log4j 2.15.0 was incomplete in certain non-default configurations. This could allows attackers with control over Thread Context Map (MDC) input data when the logging configuration uses a non-default Pattern Layout with either a Context Lookup (for example, $${ctx:loginId}) or a Thread Context Map pattern (%X, %mdc, or %MDC) to craft malicious input data using a JNDI Lookup pattern resulting in a denial of service (DOS) attack. Log4j 2.15.0 makes a best-effort attempt to restrict JNDI LDAP lookups to localhost by default. Log4j 2.16.0 fixes this issue by removing support for message lookup patterns and disabling JNDI functionality by default.(CVE-2021-45046)\nThe details of a high-risk vulnerability in Apache Log4j2 have been disclosed. Attackers can use the vulnerability to execute code remotely. Some reports carry suspected POC, Apache Log4j2 is a Java-based logging tool. This tool rewrites the Log4j framework and introduces a large number of rich features. The log framework is widely used in business system development to record log information. In most cases, developers may write error messages caused by user input into the log. The trigger condition of this vulnerability is that as long as the data input by external users will be recorded in the log, it can cause remote code execution.(CVE-2021-44228)",
"id": "OESA-2021-1474",
"modified": "2026-08-06T11:04:45Z",
"published": "2021-12-25T11:04:45Z",
"references": [
{
"type": "ADVISORY",
"url": "https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2021-1474"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-45105"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-45046"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-44228"
}
],
"schema_version": "1.7.2",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
],
"summary": "log4j security update",
"upstream": [
"CVE-2021-45105",
"CVE-2021-45046",
"CVE-2021-44228"
]
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.