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 21 days ago. Updated 13 days ago.

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

Description

Found via an AI review 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 21 days ago Actions #1

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

JI Updated by Jason Ish 21 days ago Actions #2

  • Description updated (diff)

SB Updated by Shivani Bhardwaj 20 days ago Actions #3

  • Status changed from New to Assigned

JI Updated by Jason Ish 20 days ago Actions #4

  • Description updated (diff)
  • Status changed from Assigned to In Progress

JI Updated by Jason Ish 13 days ago Actions #5

  • Status changed from In Progress to In Review
Actions

Also available in: PDF Atom