Paul Howarth's Blog
| << < 2026 / 9 > >> | ||||||
|---|---|---|---|---|---|---|
| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | ||||
Recent Entries
Tuesday 1st September 2026
Fedora Project
Updated perl-CPAN-Meta to 2.150015 in F-45 and Rawhide:
Local Packages
Updated dovecot to 2.4.5:
CVE-2026-27852: Messages with a huge number of From/To/Cc/etc. email addresses could result in excessive memory usage
CVE-2026-33263: Submission: Login service crashes with panic once mail_max_userip_connections limit is reached
CVE-2026-33604: The SMTP outbound dot-stuffing mechanism does not properly escape dots following a bare \r in message bodies, potentially allowing spoofed emails via malicious end-of-DATA injection
CVE-2026-33606: Mail content stored by a user can be crafted so that it is interpreted as dsync protocol commands when an administrator later runs dsync with the stream protocol, for example during a migration
CVE-2026-33607: IMAP LIST command could be used to cause excessive CPU usage
CVE-2026-40014: IMAP THREAD command could have used excessive amount of CPU processing a single email with a massive number of Message-IDs in References header
CVE-2026-40015: Invalid IMAP command sent to imap-hibernate process might crash it
CVE-2026-40017: IMAP THREAD command could have used excessive amount of CPU processing emails with a large number of specially crafted Message-IDs in References header
The fix requires a new dovecot.index.thread file format, which is enabled only after setting dovecot_storage_version or newer; this rebuilds the index, so it will cause some extra CPU usage and extra metacache disk IO usage but it shouldn't cause (much) extra object storage IO, because all the fields should be coming from dovecot.index.cache
CVE-2026-40203: When IMAP COMPRESS=DEFLATE was enabled, an attacker could send mails into a victim's mailbox and observe network traffic to determine whether a secret message matched a known string by comparing compressed response sizes (a CRIME-style attack); the fix resets the compression dictionary after each IMAP command, preventing information from leaking between commands
CVE-2026-40205: If multiple OAUTH scopes were required, this could have been only partially enforced with certain configurations
CVE-2026-4200: XCLIENT FORWARD allows to forward key only passdb fields without the "forward_" prefix that allows connections from trusted networks to set nopasswd field, which allows to skip the authentication
CVE-2026-42391: Pre-login IMAP ID command could have used excessive amount of memory, causing the process to become killed and disconnecting all the other IMAP connections being proxied by the process; or alternatively it could have caused excessive CPU usage, slowing down all the other IMAP connections being proxied by the process
CVE-2026-42392: If URLAUTH is enabled, sending an invalid IMAP URLFETCH can result in an untagged NO response containing uninitialized memory, potentially leaking sensitive data
CVE-2026-42393: doveadm password length or API key length could still be determined via timing based attacks
CVE-2026-42395: XCLIENT FORWARD command from login_trusted_networks could have been used to cause login processes to crash
CVE-2026-52681: Sieve resource usage (sieve_max_cpu_time) was tracked in the active Sieve binary; switching to a different active binary could have been used to reset (bypass) the resource usage
CVE-2026-52687: Using IMAP COMPRESS ZSTD command can cause excessive memory usage in imap-login process, possibly making it reach vsz_limit and kill all the connections being served by the process; fixed by disabling COMPRESS command with all other compression algorithms than the standard DEFLATE
CVE-2026-73208: In oauth2, scope/aud checking was done with JWT tokens; now it requires all scopes
CVE-2026-73209: Sending IMAP COMPRESS package containing zero-length frames crashes imap or imap-login process
auth: SIGHUP no longer flushes the passdb cache and SIGUSR2 no longer logs cache statistics; use "doveadm auth cache flush" and the new "doveadm auth cache status" instead
auth: The OTP authentication mechanism, the {OTP} password scheme and the passdb set-credentials support have been removed; they were unmaintained and unused (this also drops the passdb_sql_update_query setting)
config: doveconf no longer prints a flat global setting when a top-level named filter overrides the same setting
doveadm: The doveadm protocol has been bumped to v1.4; the server uses the newer multiplex stream format with clients supporting it, whilst older clients keep working unchanged
imap: Change imap_compress_on_proxy default to yes
lib-dict-extra: Increase dict client request timeout from 30s to 65s, so it stays above the SQL/Cassandra query timeout
lib-http: HTTP requests are now parsed strictly: obsolete line folding (obs-fold) and a bare LF line terminator are rejected; both are request desynchronization/smuggling risks (HTTP responses are still parsed leniently)
lib-storage: A '~' in a mailbox name is now escaped only when it is at the beginning of the mailbox name, not at the beginning of every hierarchy part; directories written by older versions are migrated automatically while listing mailboxes
lib-var-expand: Add %{time:unix} provider and the epoch, from_epoch, date, iso8601 and escape filters; deprecates the old time providers
lib-var-expand: The safe filter must now be the last filter in the chain
master: Increase the timeout after config reload before killing still running old processes from 6s to 35s, so that lib-master can stop them gracefully first
- config: Support heredoc syntax for multi-line setting values:
key = <<EOD ... EOD
doveconf now outputs inline SET_FILE contents (e.g. ssl_ca) using heredoc instead of the "inline:" prefix; the "inline:" form is still accepted
configure: Build imap-hibernate also when only kqueue notify is available
doveadm: Add "doveadm auth cache status" command, with --reset for clearing the counters
doveadm: dump - List all supported dump types, and print the key type also for KEM and unsupported keys
fts-flatcurve: Add support for phrase searching; this fixes false positives where the searched words existed, but not as a phrase
fts-flatcurve: Delete the FTS index directory too when a Maildir mailbox is deleted
imap: Add [THROTTLED] response code to tagged replies when a plugin has throttled the command
last-login: Add last_login_dict_fields setting for updating multiple dictionary fields at login
lib-dcrypt: Add ML-KEM-512/768/1024 support with OpenSSL 3
lib-dcrypt: Support AEAD with Dovecot key encryption
lib-settings: Expand %{variables} also in strlist and boollist keys
lib-sql: sqlite - Add sqlite_busy_timeout setting, default 1s
login-common: Log the destination also when a proxy connection fails
quota: Update quota-clone also when "doveadm quota recalc" is run
Fix building on systems with a signed 32-bit time_t
Fix building with Lua when LUA_LIBS contains linker flags such as -L
- anvil: Fix busy loop eating CPU after an admin socket connection was disconnected
auth: Fix authentication failing after a password change when the passdb cache entry was verified by an auth worker
auth: Fix the credentials scheme of one passdb leaking into the next one during a multi-passdb lookup
auth: oauth2 - Fix losing userdb_* fields during OAUTHBEARER authentication
auth: passwd-file - Fix %{passdb:...} and %{userdb:...} expansion returning garbage or crashing
config: Fix crash in "doveconf -f" for a filter that includes a @group
config: Fix crash when including a default @group into a filter
config: Fix hiding secrets in doveconf output
config: Fix startup failures with some settings containing %{variables}
configure: Fix BUILD_IMAP_HIBERNATE detection
doc: solr-schema-9.xml - Add the mandatory tokenizer class attribute
doveadm: compress-connect - Fix writing server input to a non-blocking stdout
doveadm: fs delete - Fix crash with concurrent async deletes
doveconf: Fix bogus "Multiple settings matched" error when stdout is redirected to a file that already has content
dsync: Fix truncating a mailbox attribute value when it is compared to the local one, e.g. truncating a Sieve script
dsync: backup - Mailbox attributes changed or created only in the destination are now reverted or deleted
fts-flatcurve: Ignore index directory entries that vanish during iteration
- fts: Don't run FTS optimize on forced resync
fts: build-mail - Fix accessing Content-Type header buffer out of bounds
imap-login, pop3-login: Tolerate SASL continuations "+" without a trailing space when proxying authentication
imap: Don't report FETCH output stream errors as "BUG: Unknown internal error"
- imap: Fix hibernation always failing on FreeBSD
imap: Fix panic on GETMETADATA with an invalid UTF-8 mailbox pattern
imapc: Don't send SEEEN/UNSEEN to the remote server when private indexes are used
imapc: Fix SEARCH results pointing at wrong messages after an untagged EXPUNGE
imapc: Fix SORT returning an empty result when search criteria were used
imapc: Fix crash when copying a mail that was already expunged in the source mailbox
imapc: Fix stale SEARCH/SORT results after a STORE in the same session
imapc: Honour imapc_features=no-search also for SORT
imapc: Properly handle search criteria that can be sent to remote server
lib-dcrypt: Don't panic on key algorithms the backend doesn't support
lib-dcrypt: Fix x9.62 ECDSA signatures randomly failing verification
lib-dict-backend: cdb - Fix use-after-free of the returned key
lib-dns-client: Fix handling of a disconnect initiated by the dns-client service
lib-fs: Fix panic in fs_write_stream_abort(), e.g. when the disk is full during FTS indexing
lib-index: Fix "File is already open" error when appending to the transaction log while another process is rotating it; this showed up as "NO [SERVERBUG] Internal error occurred" without any logging
lib-ldap: Fall back to system default CA paths, needed for OpenLDAP built against GnuTLS
lib-mail: istream-binary-converter - Fix heap use-after-free with a bodyless MIME part
lib-mail: message-parser - Fix out of bounds read with an empty preamble, fix skipping the epilogue boundary line, and degrade to a re-parse instead of panicking with an inconsistent cached MIME tree
lib-master: Fix kick reason when the KICK-USER-SIGNAL command arrives late, which logged "Killed with signal 15" instead of "User kicked"
lib-oauth2: jwt - Fix use-after-realloc, guard against an empty body segment and percent-encode bare "." and ".." identifiers
lib-program-client: Fix panic upon irregular termination
lib-settings: Fix sorting of the settings history, which caused changed defaults and renames to be ignored once a plugin registered its own history, if dovecot_config_version has been set to greater than 2.4.0
lib-smtp: Fix assert with an empty broken localpart
lib-smtp: xclient - Reject an invalid HELO parameter with 501
lib-sql: pgsql - Fix binary field values for rows after the first; this mainly affected dict-sql maps with hexblob fields
lib-ssl-iostream: Fix crash at process exit with OpenSSL 4.0
lib-storage: Don't log an error when the client resets the connection while saving a mail
lib-storage: Fix crash when reverting a failed mailbox deletion
lib-storage: Fix decoded size calculation for base64 attachments, which could delete the cache record of a mail with a detached attachment
lib-storage: Fix handling escaped mailbox names in the mailbox list index
lib-storage: Fix rewriting non-NFC subscriptions with mUTF-7 storage names, which caused repeated rename errors
lib-storage: Fix searching flags when the view is not up to date; this broke e.g. a pipelined UID STORE +FLAGS \Deleted followed by UID EXPUNGE
lib-storage: Fix the mailbox vsize header not being repaired when it is corrupted, causing wrong mailbox sizes to be reported
lib-storage: thread - Fix panic when running IMAP THREAD in multiple connections in parallel
lib-var-expand: Reject an empty separator in the index filter, which caused an infinite loop
lib: Fix crash and out of bounds reads when decoding IDN addresses; reachable only with the experimental mail UTF-8 support enabled
lib: ioloop - Fix panic and delayed timeouts when time moves forwards
lib: ostream-multiplex - Fix stalls, busy loops and a panic when streaming data through a multiplexed connection, e.g. IMAP FETCH through a login proxy or TLS connections
login-common: Fix connection hanging if an ostream write failed; this happened at least with HAProxy health check connections
login-common: Fix real_remote_ip being looked up incorrectly
login-common: Reject proxy credentials with ASCII control characters
login-proxy: Fix "doveadm kick" for proxied connections in high-security mode, and log "Kicked by admin" as the reason
maildir: Fix random SEARCH failures when another session concurrently expunges mails
quota: Fix maildir quota dropping to zero after IMAP MOVE or REPLACE
submission-login: proxy - Fix crash and unbounded memory usage with a multi-line or malformed AUTH reply from the backend
Update pigeonhole to 2.4.5:
lib-sieve: sieve_max_cpu_time now defaults to 30s globally, so the limit also applies to MDA delivery; previously, the global default was unlimited and only imap_sieve used 30s (the old defaults are kept for older dovecot_config_version values)
lib-sieve: enotify - The number of notify actions performed during a single script execution is now limited to 10 by default; see the new sieve_notify_max_notifications setting
lib-sieve: enotify - A single "mailto:" notify action is now limited to 8 recipients and 16 additional headers by default; see the new sieve_notify_mailto_max_recipients and sieve_notify_mailto_max_headers settings
imap-filter-sieve: FILTER SIEVE SCRIPT literals larger than sieve_max_script_size are now rejected before the script is read
lib-sieve: Fix stack overflow occurring when a script requires the same extension repeatedly
lib-sieve: encoded-character - Fix integer overflow parsing ${unicode:...} values with 9 or more hex digits
lib-sieve: variables - Fix integer overflow parsing numeric variable index
lib-sieve: regex - Fix panic occurring when more than 8 group values are matched
lib-sieve: ldap - Fix LDAP settings missing from the LDAP storage plugin
managesieve-login: Fix capability reporting when Sieve settings use %variables
Updated perl-CPAN-Meta to 2.150015 as per the Fedora version
Updated perl-Net-DNS to 1.57:
- Resync with IANA DNS parameters registry
EDNS: Add support for MQTYPE-QUERY option
Fix unbounded recursion when re-encoding message with misplaced TSIG (CPAN RT#181125)
UNIX resolver could fail in taint mode (CPAN RT#180773)
Monday 31st August 2026
Fedora Project
Updated perl-CPAN-Meta to 2.150014 in F-45 and Rawhide:
- Minor documentation fixes
Updated perl-DateTime to 1.67 in F-45 and Rawhide:
Documented that the 'truncate' method can throw a fatal error if the truncation produces a datetime that doesn't exist in the local time zone, which can happen when truncating to a day (or more) in a time zone with a DST transition at midnight (GH#155)
Documented that 'rfc3339' does not include nanoseconds (GH#150)
Fixed docs for 'strftime' to remove the bit that said it returned the same values as the POSIX 'strftime'; this hasn't been the case for a long time (GH#148)
Updated perl-Finance-Quote to 1.71 in F-43, F-44, F-45, Rawhide, EPEL-9, EPEL-10.2, EPEL-10.3 and EPEL-10:
NZX.pm: Fixed JSON mapping (GH#586)
IndiaMutual.pm: Update AMFI NAV file parsing to 8-column format with Plan and Option fields (GH#584)
Removed MorningstarCH.pm (GH#582)
Removed MorningstarUK.pm (GH#579)
IndiaMutual.pm: Add support for SIF quotes from AMFI (GH#580)
FTfunds.pm: Added useragent, cloned from BVB.pm (GH#577)
Local Packages
Updated perl-CPAN-Meta to 2.150014 as per the Fedora version
Updated perl-DateTime to 1.67 as per the Fedora version
Saturday 29th August 2026
Fedora Project
Updated perl-Business-ISBN-Data to 20260827.001 in F-45 and Rawhide:
- Data update for 2026-08-27
Updated perl-IO-Compress-Lzma to 2.224 in Rawhide:
Put "use private::MakeUtil;" back into Makefile.PL
- Remove 5.6-specific code and make 5.8 the minimum version supported
Equivalent fix for https://github.com/pmqs/IO-Compress/pull/82
- Fix spelling typo
Local Packages
Updated perl-IO-Compress-Lzma to 2.224 as per the Fedora version
Friday 28th August 2026
Fedora Project
Updated perl-Compress-Raw-Bzip2 to 2.224 in Rawhide:
- Remove 5.6-specific code and make 5.8 the minimum version supported
Remove call to UpDowngrade in Makefile.PL
Updated perl-Compress-Raw-Lzma to 2.224 in Rawhide:
- Remove 5.6-specific code and make 5.8 the minimum version supported
Remove call to UpDowngrade in Makefile.PL
Updated perl-Compress-Raw-Zlib to 2.224 in Rawhide:
- Remove 5.6-specific code and make 5.8 the minimum version supported
Remove call to UpDowngrade in Makefile.PL
Fix typos in Changes file
Updated perl-IO-Compress to 2.224 in Rawhide:
- Remove 5.6-specific code and make 5.8 the minimum version supported
- Remove dead backwards compatibility code
- Remove redundant version checks
- Fix test skip message with threaded perl 5.6
- Remove broken version check
Simplify $needBinmode logic
Fix ExtUtils::MakeMaker version check
- More instances needed fixed
Make tests pass with spaces in $^X (GH#82)
Missing comma in file anyunc.pl (GH#81)
Update zipdetails to version 4.009
Set GlobMapper.pm to version 1.002 (GH#80)
Local Packages
Updated perl-Compress-Raw-Bzip2 to 2.224 as per the Fedora version
Updated perl-Compress-Raw-Lzma to 2.224 as per the Fedora version
Updated perl-Compress-Raw-Zlib to 2.224 as per the Fedora version
Updated perl-IO-Compress to 2.224 as per the Fedora version
Tuesday 27th August 2026
Fedora Project
Updated perl-MIME-tools to 5.518 in F-45 and Rawhide:
Add tests for encoded "boundary=XXX" parameters and set the ambiguous-parse flag if any are found
MIME::tools chooses to decode encoded boundary parameters, whilst MUA behaviours differ; Claws-Mail decodes them while Thunderbird does not
Don't ignore invalid whitespace after "boundary=XXX" parameter
Ignore comments between tokens; a header parameter can be written foo(comment)=bar and it's the same as foo=bar
Local Packages
Updated perl-MIME-tools to 5.518 as per the Fedora version
Other Entries
Local Packages refers to my local package repository at http://www.city-fan.org/ftp/contrib/