VMime through 0.9.2 Uninitialized Stack Memory Disclosure via uuencode Decoder
Impact
VMime through 0.9.2 contains an information disclosure vulnerability in the uuEncoder::decode function that writes uninitialized stack memory into decoded output for over-long lines. Attackers can send a crafted uuencode or x-uuencode MIME part with a large line length byte to leak up to 15 bytes of stack contents per line in decoded attachments.
Source excerpt · VulnCheckAffected packages
Affected products
Vendor version evidence. Product records are separate from automatic dependency matching.
kisli · vmime
Other versions: unaffected
| Version / range | Source status |
|---|---|
| 0 through 0.9.2 (inclusive) | affected |
Original source description
VMime through 0.9.2 contains an information disclosure vulnerability in the uuEncoder::decode function that writes uninitialized stack memory into decoded output for over-long lines. Attackers can send a crafted uuencode or x-uuencode MIME part with a large line length byte to leak up to 15 bytes of stack contents per line in decoded attachments.
References
- Patch github.com/kisli/vmime/pull/363
- Patch github.com/kisli/vmime/commit/e85925eddc638939f0eeb7ee55ec047d04a760d8
- Source reference github.com/kisli/vmime
- Source reference github.com/kisli/vmime/blob/v0.9.2/src/vmime/utility/encoder/uuEncoder.cpp
- Source reference hackmd.io/@haindpwn/vmime-uuencode-decoder-oob-write
- Security advisory www.vulncheck.com/advisories/vmime-through-0.9.2-uninitialized-stack-memory-disclosure-via-uuencode-decoder