Every CVE Search/ Get API key

CVE-2026-63435

Mail: Email address spoofing via malformed RFC 2047 encoded-words

5.3 MediumFix available

Mail is an internet library for Ruby designed to handle email generation, parsing, and sending. Prior to 2.9.1, Mail::Utilities.q_value_decode and Mail::Utilities.b_value_decode used a single String#match and an overly greedy charset capture to decode only the first RFC 2047 encoded-word and mishandle surrounding or subsequent text. A crafted malformed encoded-word in an address display name or local part could cross ? delimiters and make decoded From, To, or Reply-To header values differ from the raw values inspected by a human reviewer or downstream parser, enabling apparent sender or recipient spoofing, phishing, or authorization-check bypass. This issue is fixed in version 2.9.1.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
Low
Availability
None

Exploit likelihood

0.45%Up 0.1 points since Sep 2, 2026
90%50%10%1%

What each source reports

CVE List Score used 5.3

Mail: Email address spoofing via malformed RFC 2047 encoded-words

Mail is an internet library for Ruby designed to handle email generation, parsing, and sending. Prior to 2.9.1, Mail::Utilities.q_value_decode and Mail::Utilities.b_value_decode used a single String#match and an overly greedy charset capture to decode only the first RFC 2047 encoded-word and mishandle surrounding or subsequent text. A crafted malformed encoded-word in an address display name or local part could cross ? delimiters and make decoded From, To, or Reply-To header values differ from the raw values inspected by a human reviewer or downstream parser, enabling apparent sender or recipient spoofing, phishing, or authorization-check bypass. This issue is fixed in version 2.9.1.

Record
CVE-2026-63435
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Weakness
CWE-436
Updated
2026-11-02
EUVDEUVD-2026-69609 5.3

Mail is an internet library for Ruby designed to handle email generation, parsing, and sending. Prior to 2.9.1, Mail::Utilities.q_value_decode and Mail::Utilities.b_value_decode used a single String#match and an overly greedy charset capture to decode only the first RFC 2047 encoded-word and mishandle surrounding or subsequent text. A crafted malformed encoded-word in an address display name or local part could cross ? delimiters and make decoded From, To, or Reply-To header values differ from the raw values inspected by a human reviewer or downstream parser, enabling apparent sender or recipient spoofing, phishing, or authorization-check bypass. This issue is fixed in version 2.9.1.

Record
EUVD-2026-69609
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-mvxr-6m87-mv2q 5.3

Mail: Email address spoofing via malformed RFC 2047 encoded-words

Summary

Mail::Utilities.q_value_decode and Mail::Utilities.b_value_decode decoded only the first RFC 2047 encoded-word in a string and used an overly greedy pattern to match the charset token. A crafted, malformed encoded-word embedded in an address display name or local part could cause the decoded output to differ from what a human reviewer or downstream parser would expect, allowing an attacker to spoof the apparent sender/recipient address.

Details

Both decoders used a single String#match against a pattern such as /=?(.+)??[Qq]?(.*)?=/m. Two problems:

  1. Single match, dropped remainder. Only the first =?charset?Q?...?= (or ?B?) word was decoded. Any additional encoded-words or surrounding text were not handled consistently, so the decoded result could silently omit or alter parts of the input.
  2. Greedy charset capture. (.+)? is greedy and matches across ? delimiters, so a malformed word could span more of the string than a strict RFC 2047 parse would, changing the boundary between "encoded" and "literal" text.

Impact

Applications using mail to parse and display or authorize based on decoded header values (From, To, Reply-To, etc.) may present or act on an address different from the one a validator inspecting the raw header would see. Primary risk is spoofing / phishing and authorization-check bypass. No RCE.

Record
GHSA-mvxr-6m87-mv2q
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Weakness
CWE-436
Updated
2026-11-02
NVD 5.3

Mail is an internet library for Ruby designed to handle email generation, parsing, and sending. Prior to 2.9.1, Mail::Utilities.q_value_decode and Mail::Utilities.b_value_decode used a single String#match and an overly greedy charset capture to decode only the first RFC 2047 encoded-word and mishandle surrounding or subsequent text. A crafted malformed encoded-word in an address display name or local part could cross ? delimiters and make decoded From, To, or Reply-To header values differ from the raw values inspected by a human reviewer or downstream parser, enabling apparent sender or recipient spoofing, phishing, or authorization-check bypass. This issue is fixed in version 2.9.1.

Record
CVE-2026-63435
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Weakness
CWE-436
Updated
2026-11-02
OSV 5.3

Mail: Email address spoofing via malformed RFC 2047 encoded-words

Mail is an internet library for Ruby designed to handle email generation, parsing, and sending. Prior to 2.9.1, Mail::Utilities.q_value_decode and Mail::Utilities.b_value_decode used a single String#match and an overly greedy charset capture to decode only the first RFC 2047 encoded-word and mishandle surrounding or subsequent text. A crafted malformed encoded-word in an address display name or local part could cross ? delimiters and make decoded From, To, or Reply-To header values differ from the raw values inspected by a human reviewer or downstream parser, enabling apparent sender or recipient spoofing, phishing, or authorization-check bypass. This issue is fixed in version 2.9.1.

Record
CVE-2026-63435
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Weakness
CWE-436
Updated
2026-11-02
OSVDEBIAN-CVE-2026-63435 5.3

Mail is an internet library for Ruby designed to handle email generation, parsing, and sending. Prior to 2.9.1, Mail::Utilities.q_value_decode and Mail::Utilities.b_value_decode used a single String#match and an overly greedy charset capture to decode only the first RFC 2047 encoded-word and mishandle surrounding or subsequent text. A crafted malformed encoded-word in an address display name or local part could cross ? delimiters and make decoded From, To, or Reply-To header values differ from the raw values inspected by a human reviewer or downstream parser, enabling apparent sender or recipient spoofing, phishing, or authorization-check bypass. This issue is fixed in version 2.9.1.

Record
DEBIAN-CVE-2026-63435
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Updated
2026-11-02
Show 5 moreShow less
OSVGHSA-mvxr-6m87-mv2q 5.3

Mail: Email address spoofing via malformed RFC 2047 encoded-words

Summary

Mail::Utilities.q_value_decode and Mail::Utilities.b_value_decode decoded only the first RFC 2047 encoded-word in a string and used an overly greedy pattern to match the charset token. A crafted, malformed encoded-word embedded in an address display name or local part could cause the decoded output to differ from what a human reviewer or downstream parser would expect, allowing an attacker to spoof the apparent sender/recipient address.

Details

Both decoders used a single String#match against a pattern such as /=?(.+)??[Qq]?(.*)?=/m. Two problems:

  1. Single match, dropped remainder. Only the first =?charset?Q?...?= (or ?B?) word was decoded. Any additional encoded-words or surrounding text were not handled consistently, so the decoded result could silently omit or alter parts of the input.
  2. Greedy charset capture. (.+)? is greedy and matches across ? delimiters, so a malformed word could span more of the string than a strict RFC 2047 parse would, changing the boundary between "encoded" and "literal" text.

Impact

Applications using mail to parse and display or authorize based on decoded header values (From, To, Reply-To, etc.) may present or act on an address different from the one a validator inspecting the raw header would see. Primary risk is spoofing / phishing and authorization-check bypass. No RCE.

Record
GHSA-mvxr-6m87-mv2q
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Weakness
CWE-436
Updated
2026-11-02
OSVOESA-2026-4104 5.3

rubygem-mail security update

A really Ruby Mail handler.

Security Fix(es):

Affected versions of this package are vulnerable to Improper Validation of Syntactic Correctness of Input through q_value_decode and b_value_decode in lib/mail/utilities.rb. An attacker can make a display name or local part decode to a different address than intended by supplying a malformed RFC 2047 encoded-word, including one that embeds extra encoded-word markers or additional text. The decoders only matched the first encoded-word and used a greedy charset capture, so a crafted header could cause the parsed From, To, or Reply-To value to omit or reshuffle literal text. Applications that display, compare, or authorize based on the decoded address can then present or act on a spoofed sender or recipient address.(CVE-2026-63435)

Record
OESA-2026-4104
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Updated
2026-11-02
OSVOESA-2026-4105 5.3

rubygem-mail security update

A really Ruby Mail handler.

Security Fix(es):

Affected versions of this package are vulnerable to Improper Validation of Syntactic Correctness of Input through q_value_decode and b_value_decode in lib/mail/utilities.rb. An attacker can make a display name or local part decode to a different address than intended by supplying a malformed RFC 2047 encoded-word, including one that embeds extra encoded-word markers or additional text. The decoders only matched the first encoded-word and used a greedy charset capture, so a crafted header could cause the parsed From, To, or Reply-To value to omit or reshuffle literal text. Applications that display, compare, or authorize based on the decoded address can then present or act on a spoofed sender or recipient address.(CVE-2026-63435)

Record
OESA-2026-4105
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Updated
2026-11-02
OSVOESA-2026-4106 5.3

rubygem-mail security update

A really Ruby Mail handler.

Security Fix(es):

Affected versions of this package are vulnerable to Improper Validation of Syntactic Correctness of Input through q_value_decode and b_value_decode in lib/mail/utilities.rb. An attacker can make a display name or local part decode to a different address than intended by supplying a malformed RFC 2047 encoded-word, including one that embeds extra encoded-word markers or additional text. The decoders only matched the first encoded-word and used a greedy charset capture, so a crafted header could cause the parsed From, To, or Reply-To value to omit or reshuffle literal text. Applications that display, compare, or authorize based on the decoded address can then present or act on a spoofed sender or recipient address.(CVE-2026-63435)

Record
OESA-2026-4106
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Updated
2026-11-02
OSVUBUNTU-CVE-2026-63435 5.3

Mail is an internet library for Ruby designed to handle email generation, parsing, and sending. Prior to 2.9.1, Mail::Utilities.q_value_decode and Mail::Utilities.b_value_decode used a single String#match and an overly greedy charset capture to decode only the first RFC 2047 encoded-word and mishandle surrounding or subsequent text. A crafted malformed encoded-word in an address display name or local part could cross ? delimiters and make decoded From, To, or Reply-To header values differ from the raw values inspected by a human reviewer or downstream parser, enabling apparent sender or recipient spoofing, phishing, or authorization-check bypass. This issue is fixed in version 2.9.1.

Record
UBUNTU-CVE-2026-63435
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
mail
RubyGems
before 2.9.1
2.9.1
ruby-mail
Debian:12
All versions, plus listed versions
2.7.1+dfsg1-22.8.1+dfsg1-12.8.1+dfsg1-22.9.0+dfsg1-12.9.1-1
None known
ruby-mail
Debian:13
All versions, plus listed versions
2.8.1+dfsg1-22.9.0+dfsg1-12.9.1-1
None known
ruby-mail
Debian:14
before 2.9.1-1, plus listed versions
2.8.1+dfsg1-22.9.0+dfsg1-1
2.9.1-1
mail
RubyGems
before 2.9.1, plus listed versions
1.0.01.1.01.2.11.2.51.2.6
Show 45 moreShow less
1.2.81.2.91.3.01.3.11.3.21.3.31.3.41.3.51.4.01.4.11.4.21.4.31.5.01.5.11.5.21.5.31.5.41.6.02.0.32.0.52.1.02.1.12.1.22.1.32.1.52.1.5.12.1.5.22.1.5.32.2.02.2.12.2.102.2.112.2.122.2.132.2.142.2.152.2.162.2.172.2.182.2.192.2.22.2.202.2.32.2.42.2.5
2.9.1
rubygem-mail
openEuler:24.03-LTS-SP1
before 2.8.1-2.oe2403sp1
2.8.1-2.oe2403sp1
rubygem-mail
openEuler:24.03-LTS-SP3
before 2.8.1-2.oe2403sp3
2.8.1-2.oe2403sp3
rubygem-mail
openEuler:24.03-LTS-SP4
before 2.8.1-2.oe2403sp4
2.8.1-2.oe2403sp4
jruby
Ubuntu:Pro:14.04:LTS
All versions, plus listed versions
1.5.6-5ubuntu11.5.6-61.5.6-71.5.6-9+deb8u2build0.14.04.1~esm2
None known
ruby2.3
Ubuntu:Pro:16.04:LTS
All versions, plus listed versions
2.3.0-12.3.0-22.3.0-4ubuntu22.3.0-4ubuntu32.3.0-5ubuntu1
Show 28 moreShow less
2.3.1-2~16.042.3.1-2~16.04.22.3.1-2~16.04.42.3.1-2~16.04.52.3.1-2~16.04.62.3.1-2~16.04.72.3.1-2~16.04.92.3.1-2~16.04.102.3.1-2~16.04.112.3.1-2~16.04.122.3.1-2~ubuntu16.04.132.3.1-2~ubuntu16.04.142.3.1-2~ubuntu16.04.152.3.1-2~ubuntu16.04.162.3.1-2~ubuntu16.04.16+esm12.3.1-2~ubuntu16.04.16+esm22.3.1-2~ubuntu16.04.16+esm32.3.1-2~ubuntu16.04.16+esm42.3.1-2~ubuntu16.04.16+esm52.3.1-2~ubuntu16.04.16+esm62.3.1-2~ubuntu16.04.16+esm72.3.1-2~ubuntu16.04.16+esm82.3.1-2~ubuntu16.04.16+esm92.3.1-2~ubuntu16.04.16+esm102.3.1-2~ubuntu16.04.16+esm112.3.1-2~ubuntu16.04.16+esm122.3.1-2~ubuntu16.04.16+esm142.3.1-2~ubuntu16.04.16+esm15
None known
Show 12 moreShow less
Affected packages
PackageAffectedFixed
jruby
Ubuntu:16.04:LTS
All versions, plus listed versions
1.7.21-2ubuntu41.7.22-1ubuntu1
None known
ruby2.5
Ubuntu:Pro:18.04:LTS
All versions, plus listed versions
2.5.0~preview1-1ubuntu22.5.0-4ubuntu12.5.0-4ubuntu42.5.0-5ubuntu12.5.0-6ubuntu1
Show 23 moreShow less
2.5.1-1ubuntu12.5.1-1ubuntu1.12.5.1-1ubuntu1.22.5.1-1ubuntu1.42.5.1-1ubuntu1.52.5.1-1ubuntu1.62.5.1-1ubuntu1.72.5.1-1ubuntu1.82.5.1-1ubuntu1.92.5.1-1ubuntu1.102.5.1-1ubuntu1.112.5.1-1ubuntu1.122.5.1-1ubuntu1.132.5.1-1ubuntu1.142.5.1-1ubuntu1.152.5.1-1ubuntu1.162.5.1-1ubuntu1.16+esm12.5.1-1ubuntu1.16+esm32.5.1-1ubuntu1.16+esm42.5.1-1ubuntu1.16+esm52.5.1-1ubuntu1.16+esm62.5.1-1ubuntu1.16+esm72.5.1-1ubuntu1.16+esm8
None known
jruby
Ubuntu:18.04:LTS
All versions, plus listed versions
9.1.13.0-19.1.17.0-1~18.04
None known
ruby2.7
Ubuntu:Pro:20.04:LTS
All versions, plus listed versions
2.7.0-12.7.0-22.7.0-32.7.0-42.7.0-4ubuntu1
Show 23 moreShow less
2.7.0-5ubuntu12.7.0-5ubuntu1.12.7.0-5ubuntu1.22.7.0-5ubuntu1.32.7.0-5ubuntu1.42.7.0-5ubuntu1.52.7.0-5ubuntu1.62.7.0-5ubuntu1.72.7.0-5ubuntu1.82.7.0-5ubuntu1.92.7.0-5ubuntu1.102.7.0-5ubuntu1.112.7.0-5ubuntu1.122.7.0-5ubuntu1.132.7.0-5ubuntu1.142.7.0-5ubuntu1.152.7.0-5ubuntu1.162.7.0-5ubuntu1.172.7.0-5ubuntu1.182.7.0-5ubuntu1.18+esm12.7.0-5ubuntu1.18+esm32.7.0-5ubuntu1.18+esm42.7.0-5ubuntu1.18+esm5
None known
jruby
Ubuntu:20.04:LTS
All versions, plus listed versions
9.1.17.0-39.1.17.0-3build59.1.17.0-3build6
None known
ruby3.0
Ubuntu:22.04:LTS
All versions, plus listed versions
3.0.2-5ubuntu13.0.2-73.0.2-7ubuntu23.0.2-7ubuntu2.13.0.2-7ubuntu2.2
Show 10 moreShow less
3.0.2-7ubuntu2.33.0.2-7ubuntu2.43.0.2-7ubuntu2.53.0.2-7ubuntu2.63.0.2-7ubuntu2.73.0.2-7ubuntu2.83.0.2-7ubuntu2.103.0.2-7ubuntu2.113.0.2-7ubuntu2.123.0.2-7ubuntu2.13
None known
jruby
Ubuntu:24.04:LTS
All versions, plus listed versions
9.3.9.0+ds-19.4.5.0+ds-19.4.5.0+ds-1ubuntu19.4.6.0+ds-1ubuntu3
None known
ruby3.2
Ubuntu:24.04:LTS
All versions, plus listed versions
3.2.3-13.2.3-1build23.2.3-1build33.2.3-1ubuntu0.24.04.13.2.3-1ubuntu0.24.04.3
Show 4 moreShow less
3.2.3-1ubuntu0.24.04.53.2.3-1ubuntu0.24.04.63.2.3-1ubuntu0.24.04.73.2.3-1ubuntu0.24.04.8
None known
jruby
Ubuntu:26.10
All versions, plus listed versions
9.4.8.0+ds-3ubuntu19.4.14.0+ds-1
None known
ruby3.3
Ubuntu:26.10
All versions, plus listed versions
3.3.8-2ubuntu33.3.8-2.2ubuntu4
None known
jruby
Ubuntu:26.04:LTS
All versions, plus listed versions
9.4.8.0+ds-3ubuntu1
None known
ruby3.3
Ubuntu:26.04:LTS
All versions, plus listed versions
3.3.8-2ubuntu23.3.8-2ubuntu33.3.8-2ubuntu3.1
None known

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-63435 is a medium vulnerability (CVSS 5.3) in Mikel Mail, published September 1, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.45%, the 39th percentile. Fixed in mail 2.9.1.

References

Show 8 moreShow less
This page doesn't list everything

Left out here: 46 versions. The JSON record has them.

MoveEnter Open