Fix SMTP sender validation and bounded DATA handling #21

Merged
ober merged 4 commits from astra-smtp-cleanup into main 2026-09-23 18:04:14 -04:00
Owner

Summary

Fix SMTP sender-state validation and bounded DATA handling from the Astra security findings. SPF is reevaluated per MAIL FROM, folded and duplicate From headers are validated, unauthenticated local-domain spoofing is rejected, startup fails closed on chroot/chdir errors, auth and limiter state expires, and plaintext DATA is kept in bounded memory without predictable temp spools. The production message-limit test now matches the configured 35 MiB default.

Verification

  • FreeBSD amd64 (ssh biggus) gmake CC=cc test
  • gmake CC=cc binary-smoke
  • individual data, DKIM, DMARC, DNS, protocol, queue, SPF, delivery, server, and session suites
  • security, audit, and verify checks
## Summary Fix SMTP sender-state validation and bounded DATA handling from the Astra security findings. SPF is reevaluated per MAIL FROM, folded and duplicate From headers are validated, unauthenticated local-domain spoofing is rejected, startup fails closed on chroot/chdir errors, auth and limiter state expires, and plaintext DATA is kept in bounded memory without predictable temp spools. The production message-limit test now matches the configured 35 MiB default. ## Verification - FreeBSD amd64 (`ssh biggus`) `gmake CC=cc test` - `gmake CC=cc binary-smoke` - individual data, DKIM, DMARC, DNS, protocol, queue, SPF, delivery, server, and session suites - security, audit, and verify checks
align config tests with production message limit
Some checks failed
required-ci / required (pull_request) Failing after 3m43s
version-policy / required (pull_request) Failing after 3m46s
eec9c9128c
bump package version for SMTP security fixes
Some checks failed
required-ci / required (pull_request) Failing after 3m42s
version-policy / required (pull_request) Failing after 3m42s
b856f1a315
ober scheduled this pull request to auto merge when all checks succeed 2026-09-23 18:03:44 -04:00
ober merged commit 403898d18e into main 2026-09-23 18:04:14 -04:00
ober referenced this pull request from a commit 2026-09-23 18:04:16 -04:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ober/jerboa-smtp!21
No description provided.