The Socket Appender in Apache Log4j Core versions 2.0-beta9 through 2.25.2 does not perform TLS hostname verification of the peer certificate, even when the verifyHostName https://logging.apache.org/log4j/2.x/manual/appenders/network.html#SslConfiguration-attr-verifyHostName configuration attribute or the log4j2.sslVerifyHostName https://logging.apache.org/log4j/2.x/manual/systemproperties.html#log4j2.sslVerifyHostName system property is set to true.
This issue may allow a man-in-the-middle attacker to intercept or redirect log traffic under the following conditions:
Users are advised to upgrade to Apache Log4j Core version 2.25.3, which addresses this issue.
As an alternative mitigation, the Socket Appender may be configured to use a private or restricted trust root to limit the set of trusted certificates.
| Software | From | Fixed in |
|---|---|---|
| apache / log4j | 2.0.1 | 2.25.3 |
| apache / log4j | 2.0 | 2.0.x |
| apache / log4j | 2.0-beta9 | 2.0-beta9.x |
| apache / log4j | 2.0-rc1 | 2.0-rc1.x |
| apache / log4j | 2.0-rc1-rc1 | 2.0-rc1-rc1.x |
| apache / log4j | 2.0-rc2 | 2.0-rc2.x |