Project

General

Profile

Actions

Bug #8741

open
JI JI

smtp: complete BDAT transactions at LAST

Bug #8741: smtp: complete BDAT transactions at LAST

Added by Jason Ish about 4 hours ago. Updated about 4 hours ago.

Status:
New
Priority:
High
Assignee:
Target version:
Affected Versions:
Effort:
Difficulty:
Label:

Description

Found via an AI array of the SMTP work after merge, appears to be valid.

The SMTP parser extracts the BDAT length but does not retain the LAST marker.
Consequently, the final chunk and reply do not complete the transaction. A
subsequent MAIL FROM can be merged into the previous transaction, retaining its
envelope and firewall state.

Related issues:

  • BDAT 0 LAST incorrectly enters data mode.
  • The chunk index is not reset for each BDAT.
  • Input is not consumed strictly to the declared octet boundary.

Track LAST, reset accounting per chunk, consume the exact chunk length, and
complete both transaction directions at the final chunk/reply.

Add coverage for non-empty LAST, zero-length LAST, and multiple chunks followed
by a new message.

Related to #8393.


Related issues 1 (1 open0 closed)

Related to Suricata - Feature #8393: firewall: support SMTP hook states for firewall rule evaluationResolvedJason IshActions

JI Updated by Jason Ish about 4 hours ago Actions #1

  • Related to Feature #8393: firewall: support SMTP hook states for firewall rule evaluation added

JI Updated by Jason Ish about 4 hours ago Actions #2

  • Description updated (diff)
Actions

Also available in: PDF Atom