Skip to main content

Apache log4net EUVDEUVD-2026-93866

| CVE-2026-105241 MEDIUM
Improper Handling of Unicode Encoding (CWE-176)
2026-10-06 security@apache.org GHSA-r5vq-477m-wcfc
5.3
CVSS 3.1 · Vendor: apache
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Submit input with unpaired UTF-16 surrogate
  2. Delivery
    Application logs attacker-controlled data
  3. Exploit
    Writer fails encoding on batch flush
  4. Execution
    Whole buffered event batch discarded
  5. Impact
    Audit records of other events suppressed

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Unicode normalization
Exploitation Conditions

Exploitation requires the target application to be configured to use SmtpPickupDirAppender (the SMTP pickup-directory mail appender) with event buffering, and the attacker must be able to get content they control - specifically a string the UTF-8/UTF-16 writer cannot encode, such as an unpaired surrogate like U+D800 - into a message that log4net renders. The limiting factors are significant: applications not using SmtpPickupDirAppender are entirely unaffected, the payload must survive the application's own input handling intact to reach the log layout, and the practical impact is confined to suppressing/truncating buffered log output rather than any confidentiality or service-availability loss. No end-user interaction or log4net authentication is needed once attacker data reaches a logged field.

Impact

This is a genuinely low-to-moderate priority issue despite being network-reachable. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N, base 5.3) reflects an integrity-only impact with no confidentiality or availability loss - the attacker cannot read data or crash the service, only suppress or truncate log records. No EPSS score was provided in the input, there is no CISA KEV listing, and the only references are the fixing commit, pull request #315, and an Apache mailing-list thread - so there is no public exploit identified at time of analysis and no evidence of active exploitation. The PR:N rating is technically correct (any party whose data reaches a logged message can trigger it without authenticating to log4net itself), but this is tempered by a hard structural precondition: the issue only manifests in applications that both use SmtpPickupDirAppender AND buffer multiple events, a rarely-used configuration. The practical impact is anti-forensic log suppression - an attacker who gets an unpaired UTF-16 surrogate into one log message can destroy an entire batch of buffered events and leave a truncated mail - which matters for audit integrity but is not a classic code-execution or data-breach threat. No SSVC decision data was provided in the input. Net: real but niche; prioritize only if SmtpPickupDirAppender is in use and log integrity is security-relevant.

Exploit ScenarioDerived

An attacker submits input (e.g. a username, header, or form field) containing an unpaired UTF-16 surrogate (such as U+D800) that an application logs via log4net. When SmtpPickupDirAppender flushes its buffered batch, File.CreateText throws on the unencodable character, discarding every other buffered event in that batch and leaving a truncated mail file in the pickup directory. No public exploit code was identified in the provided references; exploitation is network-reachable and low-complexity but requires the target to use the vulnerable appender.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 06, 2026

Improper handling of Unicode encoding in Apache log4net's SmtpPickupDirAppender lets an attacker who can place unencodable content - such as an unpaired UTF-16 surrogate like U+D800 - into a logged message break the appender's file writer, causing the entire buffered batch of logging events to be discarded rather than just the offending event, and leaving a truncated mail file in the pickup directory for the mail service to send. Only applications configured to use SmtpPickupDirAppender (the SMTP pickup-directory appender) with event buffering are affected; versions from 1.2.9 before 3.5.0 are impacted. The issue is rated CVSS 5.3 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N) - remote and unauthenticated once attacker data reaches a rendered log field - but impact is confined to integrity of log output (suppression/truncation of audit records), with no confidentiality or availability loss; no public exploit code was identified at time of analysis and it is not confirmed actively exploited (not in CISA KEV).

RemediationAI

Upgrade to Apache log4net 3.5.0, which is the vendor-released patch for this issue (from 1.2.9 before 3.5.0 affected); the fix is the upstream change in https://github.com/apache/logging-log4net/commit/4d2e10f0908199604b4326f9df6d0b43b871e333 and PR https://github.com/apache/logging-log4net/pull/315, with release notes in src/changelog/3.5.0/315-pickup-dir-unencodable-content.xml and the advisory thread at https://lists.apache.org/thread.html/hg8dgh3oy8bp3dhb8nsygk9kw2o401ws. If an immediate upgrade is not possible, the most effective compensating control is to stop using SmtpPickupDirAppender or to reconfigure logging to a different appender (for example FileAppender/RollingFileAppender) - the trade-off being loss of the pickup-directory mail workflow - or to disable batch buffering on the appender, which reduces but does not eliminate the window in which a single poison event can discard other events. Because the trigger is an unpaired surrogate reaching a logged field, sanitizing or validating untrusted input before it is logged (for example rejecting or escaping unpaired surrogate code points at the application boundary) provides partial mitigation but depends on complete coverage of every logging call site and its trade-off is potential loss of fidelity in logged data. Reduce exposure by ensuring attacker-controlled strings cannot flow into log messages that the SMTP pickup appender renders, and monitor the pickup directory for truncated mail files as an indicator of exploitation attempts.

Affected VersionsENISA

Apache log4net 02e1e115435888485f2e28b414d267e39e799e07 <4d2e10f0908199604b4326f9df6d0b43b871e333
Apache log4net 1.2.9 <3.5.0

Affected Packages

euvd apache_log4net fix: 3.5.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause is CWE-176 (Improper Handling of Unicode Encoding) in the .NET-based Apache log4net logging framework. SmtpPickupDirAppender batches LoggingEvent objects and serializes them into a mail file that is dropped into a configured pickup directory for an external SMTP service to deliver. Prior to the fix, the appender opened the output file with File.CreateText, whose default encoding path throws when it encounters content it cannot encode, such as an unpaired UTF-16 surrogate. Because the write of the whole batch happens inside a single try/catch, one poison event aborts the entire SendBuffer operation: every other buffered event in that batch is silently dropped, and the partially written file is left under its final name in the pickup directory (the code comment notes no temporary-name scheme is safe for every service and FileExtension is operator-chosen), so the pickup service may send a truncated mail. The fix in the upstream commit (apache/logging-log4net commit 4d2e10f, PR #315) replaces File.CreateText with an explicit new StreamWriter(filePath, false, new UTF8Encoding(false)), renders each event into a StringWriter and passes the result through ContentEscape.EscapeUnpairedSurrogates so unencodable characters are written as \uXXXX escapes instead of throwing. The accompanying test ContentThatCannotBeEncodedDoesNotDestroyTheBatch logs a string containing (char)0xd800 followed by a second event and asserts a single mail file exists containing both the escaped surrogate and the subsequent event, with no error handler message. The exploit path requires the attacker's data to reach a message rendered by log4net - typically an untrusted request value that the application logs - while the target uses SmtpPickupDirAppender; CPE/version scope is Apache log4net >= 1.2.9 and < 3.5.0.

Know when Log4Net gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (apache) PRIMARY 5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
vuln.today AI 5.3 MEDIUM

Attacker-controlled data reaching a log is network-reachable and unauthenticated (AV:N/PR:N); impact is low integrity via log suppression (I:L) with no confidentiality and no service availability loss.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (apache).

CVSS VectorVendor: apache

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
None

Lifecycle Timeline

2
Patch available
Oct 06, 2026 - 21:05 EUVD
CVE Published
Oct 06, 2026 - 20:17 cve.org
MEDIUM 5.3

DescriptionCVE.org

Improper Handling of Unicode Encoding vulnerability in the SmtpPickupDirAppender of Apache log4net.

Content that the mail file writer cannot encode, such as an unpaired UTF-16 surrogate, made the write throw. Every buffered event in the batch was discarded, not only the one carrying the content, and a truncated mail could be left in the pickup directory. A party whose data reaches a log message could suppress the records of other events. Only applications that use SmtpPickupDirAppender are affected.

This issue affects Apache log4net: from 1.2.9 before 3.5.0.

Users are recommended to upgrade to version 3.5.0, which fixes the issue.

Threat Intelligence Overview

EPSS Score
0.3%
Top 75% exploitable
Prevalence
Low
log4net is widely deployed but SmtpPickupDirAppender is rarely configured
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy