Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSubmit input with unpaired UTF-16 surrogate
-
DeliveryApplication logs attacker-controlled data
-
ExploitWriter fails encoding on batch flush
-
ExecutionWhole buffered event batch discarded
-
ImpactAudit 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
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.
Primary rating from Vendor (apache).
CVSS VectorVendor: apache
Lifecycle Timeline
2DescriptionCVE.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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Log-integrity tampering in the RemoteSyslogAppender of Apache log4net affects versions from 1.2.12 up to but not includi
Log-record suppression in the %aspnet-request pattern converter of Apache log4net lets an unauthenticated remote sender
Log-record truncation in Apache log4net's EventLogAppender silently drops everything a layout renders after a NUL (\0) c
Silent suppression of Windows event-log records in Apache log4net's EventLogAppender lets a party that can influence log
A NUL character (U+0000) embedded in content that reaches a log message causes Apache log4net's OutputDebugStringAppende
EUVD-2026-93866
GHSA-r5vq-477m-wcfc
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB