From: Adolf Belka <adolf.belka@ipfire.org>
To: development@lists.ipfire.org
Cc: Adolf Belka <adolf.belka@ipfire.org>
Subject: [PATCH] postfix: Update to version 3.11.6
Date: Thu, 13 Aug 2026 15:39:39 +0200 [thread overview]
Message-ID: <20260813133942.2669472-10-adolf.belka@ipfire.org> (raw)
In-Reply-To: <20260813133942.2669472-1-adolf.belka@ipfire.org>
- Update from version 3.11.5 to 3.11.6
- No change in rootfile
- Changelog
3.11.6
These defects were found by Qualys assisted by Claude Mythos Preview, and by OpenAI
Security; more than half date from 20 or more years ago. When I implemented Postfix,
I knew that there were going to be mistakes. That is the reason why Postfix has its
architecture and safety nets. The number of defects may seem large, but considering
that they were found in a code base of over 150 thousand lines, the error rate is
still lower than what I designed for.
Policy bypass:
Bug (introduced: Postfix 2.2, date: 20041102): missing SMTP server resets of
MAIL FROM and RCPT TO command state after smtpd_end_of_data_restrictions
rejected a message. This resulted in SMTP protocol state desynchronization
between the remote SMTP client and the Postfix SMTP server.
A crafted remote SMTP client could then send RCPT TO and DATA without MAIL FROM,
and deliver a second message. Then, smtpd_end_of_data_restrictions skipped
check_recipient_access constraints, because a recipient counter was > 1.
Reported by OpenAI Security. File: smtpd/smtpd.c.
As reported by OpenAI Security, the failure to reset MAIL FROM and RCPT TO state
also affected Milter support (added in Postfix 2.3). Here, after a Milter
replied with "accept this message" based on the message envelope, and
smtpd_end_of_data_restrictions rejected the message, the Postfix SMTP server
as before accepted RCPT TO and DATA without MAIL FROM, and
smtpd_end_of_data_restrictions as before skipped check_recipient_access
constraints for the second message. Under these conditions, the Postfix
Milter client remained in the "accept this message" state, skipping Milter
policy enforcement for the second message.
Denial of service:
Bug (defect introduced: Postfix 3.4, date: 20180805): SMTP server command
history memory exhaustion with a large number of very small BDAT requests.
Reported by OpenAI security. File: smtpd.c.
Bug (defect introduced: Postfix 1.1, date: 20021116): address verification cache
poisoning. A local user could use the postdrop command to submit an address
verification probe with envelope or message content that Postfix rejected
later, resulting in a negative address verification cache entry for that
address. On systems that enable address verification, the negative address
verification cache entry would force the Postfix SMTP server to reject a
message that it should accept (denial of service). Problem reported by
OpenAI Security. File: postdrop.c.
Server crashes and panic()s:
Bug (defect introduced: Postfix 3.4, date: 20180805): missing SMTP server reset
of RCPT TO state, after a BDAT command error. A crafted remote SMTP client
could then send a DATA command without MAIL FROM or RCPT TO, and crash a
Postfix SMTP daemon process with a null pointer read error. Reported by
OpenAI Security. File: smtpd/smtpd.c.
Bug (defect introduced: Postfix 2.4, date: 20051222): null pointer read crash
while parsing a malformed Dovecot AUTH server response. Reported by Qualys,
assisted by Claude Mythos Preview. File: xsasl_dovecot_server.c.
Read after free, uninitialized read, under/over read:
Bug (defect introduced: Postfix 2.8, date: 20100914): read-after-free in the
PSC_CALL_BACK_NOTIFY() macro. This had no effect on program execution,
because myfree() wiped memory, and that memory was not yet reused. Problem
reported by Qualys, assisted by Claude Mythos Preview. File: postscreen_dnsbl.c.
Read after free (no privilege escalation) in debug logging (defect introduced:
Postfix 2.2, date: 20050117). Reported by Qualys, assisted by Claude Mythos
Preview. File: util/inet_connect.c.
Bug (defect introduced: Postfix 2.10, date: 20120617): uninitialized memory read
in postscreen HaProxy client after remote I/O exception, causing garbage to
be logged. Reported by Qualys, assisted by Claude Mythos Preview.
File: postscreen_haproxy.c.
Latent bug (defect introduced: Postfix 2.7, date: 20090618): uninitialized memory
read after dnsblog(8) returns a string that is not an IPv4 address. Reported
by Qualys, assisted by Claude Mythos Preview. File: postscreen_dnsbl.c.
Bug (defect introduced: before Postfix alpha, date 19970424): the DNS client
could read up to two bytes past the end of an MX record, before discovering
that the record was too short. This behavior was later copied with SRV
records, potentially over-reading up to six bytes. Problem reported by
Qualys, assisted by Claude Mythos Preview. File: dns_lookup.c.
Bug (defect introduced: Postfix 1,1, date: 20010524): the postsuper command
under-read or over-read a very short queue filename. No crash, information
leak, or privilege escalation. Reported by Qualys, assisted by Claude Mythos
Preview. Files: postsuper.c, mail_queue.h.
Other code hygiene:
Bug (defect introduced: before Postfix alpha, date: 19971106): 'int' over-shift,
in the queue file record-length parser. Postfix programs do not generate such
records, but an attacker could cause postdrop to reject input or panic().
Reported by Qualys, assisted by Claude Mythos Preview. File: record.c.
Bug (defect introduced: Postfix 2.2, date: 20050117): non-transitive comparison
of IPv4 addresses. Reported by Qualys, assisted by Claude Mythos Preview.
File: sock_addr.c.
Bug (defect introduced: Postfix 1.0, date: 20000928): the fast flush server, used
by the SMTP command "ETRN", and by the commands "postqueue -s site" and
"postqueue -i queue_id" (and their sendmail(1) equivalents), used the wrong
duplicate suppression API, resulting in unnecessary queue scans by the queue
manager. Reported by Qualys, assisted by Claude Mythos Preview. File: flush.c.
Queue hygiene: the postdrop command accepted the null record type which the rest
of Postfix ignores. Reported by OpenAI Security. File: postdrop.c.
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
lfs/postfix | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lfs/postfix b/lfs/postfix
index 9584412ad..4ab686707 100644
--- a/lfs/postfix
+++ b/lfs/postfix
@@ -26,7 +26,7 @@ include Config
SUMMARY = A fast, secure, and flexible mailer
-VER = 3.11.5
+VER = 3.11.6
THISAPP = postfix-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -34,7 +34,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = postfix
-PAK_VER = 55
+PAK_VER = 56
DEPS =
@@ -72,7 +72,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = c677014019ce0851e45b103e5d6a88972a10cd3685d4c68b47f6b94ee318b9e81fb017f5b15f4307f3b8c6719afcbba33f4fc1c31a4fb65fe040522d6af38704
+$(DL_FILE)_BLAKE2 = e4a1194fa3f718212413bcee4f61f3c7fe3bd6b0bc6e96a714ca4093e3827350c2eda0e68c5826d865fc9c657e6bcebb0724b99c282c7a85dd877f2207de5075
install : $(TARGET)
--
2.55.0
next prev parent reply other threads:[~2026-08-13 13:41 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-13 13:39 [PATCH] aprutil: Update to version 1.6.5 Adolf Belka
2026-08-13 13:39 ` [PATCH] core205: Ship aprutil Adolf Belka
2026-08-13 13:39 ` [PATCH] core205: Ship openssh Adolf Belka
2026-08-13 13:39 ` [PATCH] core205: Ship procps Adolf Belka
2026-08-13 13:39 ` [PATCH] core205: Ship wpa_supplicant Adolf Belka
2026-08-13 13:39 ` [PATCH] fontconfig: Update to version 2.18.3 Adolf Belka
2026-08-13 13:39 ` [PATCH] libffi: Update to version 3.8.0 Adolf Belka
2026-08-13 13:39 ` [PATCH] openssh: Update to version 10.5p1 Adolf Belka
2026-08-13 13:39 ` [PATCH] p11-kit: Update to version 0.26.5 Adolf Belka
2026-08-13 13:39 ` Adolf Belka [this message]
2026-08-13 13:39 ` [PATCH] procps: Update to version 4.0.7 Adolf Belka
2026-08-13 13:39 ` [PATCH] rsync: Update to version 3.5.0 Adolf Belka
2026-08-13 13:39 ` [PATCH] wpa_supplicant: Update to version 2.12 Adolf Belka
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260813133942.2669472-10-adolf.belka@ipfire.org \
--to=adolf.belka@ipfire.org \
--cc=development@lists.ipfire.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox