https://bugs.exim.org/show_bug.cgi?id=3189
Bug ID: 3189
Summary: Inconsistent Return Codes for Malformed RSET Commands
Product: Exim
Version: 4.89
Hardware: x86
OS: Linux
Status: NEW
Severity: bug
Priority: medium
Component: Unfiled
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
The same malformed SMTP command RSET \n.,puul;?@ (a valid RSET command with
trailing newline and garbled characters) returns inconsistent response codes on
a single SMTP server: 250 OK (successfully executing the RSET reset function
and ignoring garbled content) in some states, and 554 Transaction failed
(permanent hard error, rejecting the RSET operation) in others. This violates
the requirement for consistent behavior of the SMTP server for identical
commands, potentially causing client compatibility issues and disrupting email
transmission workflows. The standard compliant command RSET\r\n consistently
returns 250 OK without such inconsistencies.
When the same client sends the identical malformed command RSET \n.,puul;?@ to
the same SMTP server, two distinct responses occur:
Response 1 (Success): When the command sequence includes the EHLO command
prefix, this malformed command will return 250.
The command sequences obtained from testing include:
EHLO => 250;RSET_malformed => 250
or EHLO => 250;MAIL_FROM => 250;RSET_malformed => 250
Response 2 (Failure): When the command sequence does not include EHLO, the
server will return 554
The command sequences obtained from testing include:
RSET_malformed => 554
or MAIL_FROM => 250;RSET_malformed => 554
Moreover, the standard RSET command returns 250 in both scenarios, indicating
that the server does not process this malformed command in accordance with the
standard RSET command handling logic.
We are reporting this issue because it violates the requirement for command
response consistency specified in RFC, and we also want to know the root cause
of this problem.
This testing was completed on git commit 38903fb.
--
You are receiving this mail because:
You are on the CC list for the bug.
--
## subscription configuration (requires account):
## https://lists.exim.org/mailman3/postorius/lists/exim-dev.lists.exim.org/
## unsubscribe (doesn't require an account):
## [email protected]
## Exim details at https://www.exim.org/
## Please use the Wiki with this list - https://code.exim.org/exim/wiki/wiki