v0.4.24 #670
nevans
announced in
Announcements
v0.4.24
#670
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Important
The
0.4.xrelease branch will only receive critical security fixes, and will be unsupported when ruby 3.3 is EOL.Please upgrade to a newer version.
What's Changed
🔒 Security
This release contains fixes for multiple vulnerabilities concerning
STARTTLSstripping, argument validation, and denial of service attacks.Warning
#666 fixes a
STARTTLSstripping vulnerability. Without this fix, a man-in-the-middle attacker can causeNet::IMAP#starttlsto return "successfully", without starting TLS.Important
Argument validation is significantly improved. Several command injection vulnerabilities have been fixed by #663.
This fixes a CRLF/command injection vulnerability for Symbol arguments.
This fixes a CRLF/command injection vulnerability for the
attrargument to#store/#uid_store.This fixes a CRLF/command injection vulnerability for the
storage_limitargument to#setquota.This fixes a CRLF/command injection vulnerability for
RawData, which is used by:#searchand#uid_searchsendcriteriaas raw data, when it is a String#fetchand#uid_fetchsendattras raw data, when it is a String.When
attris an Array, its String members are sent as raw data.Caution
RawDatadoes not defend against other forms of argument injection! It is an intentionally low-level API.Note
Two denial of service vectors have been addressed.
These are relevant when connecting to an untrusted hostile server (or without TLS).
#651 fixes quadratic time complexity when reading large responses containing many string literals.
#655 adds a configurable
max_iterationscount forSCRAM-*authentication.The default
ScramAuthenticator#max_iterationsis2**31 - 1(max 32-bit signed int), which was already OpenSSL's maximum value. It provides no protection against hostile servers unless it is explicitly set to a lower value by the user.Added
ScramAuthenticator#max_iterations(backports 🔒 AddScramAuthenticator#max_iterations#654) in 🔒 AddScramAuthenticator#max_iterations(backports #654) #655, reported by @MasamuneeeFixed
attras anatom#658, 🔒 Validate#setquotastorage limit argument #659, 🔒🐛 Validate RawData and wait to continue literals #660, 📚️ Fix QUOTA documentation, ✅ Test#setquota, ♻️ AddMailboxQuota#quota_rootalias #636, 📚 Improve documentation of RawData arguments #661) in 🔒 Fix CRLF injection vulnerabilities (backports #657, #658, #659, #660, #636, #661) #663, reported by @manunioOther Changes
BINARYextention to#append(RFC3516) #616, ✨ SupportLITERAL+andLITERAL-non-synchronizing literals (RFC7888) #649) by @nevans in ♻️ Improve internal literal sending (partially backports #358, #616, #649) #653Full Changelog: v0.4.23...v0.4.24
This discussion was created from the release v0.4.24.
Beta Was this translation helpful? Give feedback.
All reactions