MimeKit — это библиотека C#, которую можно использовать для создания и анализа сообщений с использованием многоцелевого расширения почты Интернета (MIME), как определено многочисленными спецификациями IETF. До версии 4.15.1 уязвимость внедрения CRLF в MimeKit позволяла злоумышленнику встроить \r\n в локальную часть адреса конверта SMTP (если локальная часть является строкой в кавычках). Это несовместимо с RFC 5321 и может привести к внедрению команд SMTP (например, внедрению дополнительных команд RCPT TO/DATA/RSET) и/или внедрению заголовка письма, в зависимости от того, как приложение использует MailKit/MimeKit для создания и отправки сообщений.
Проблема становится пригодной для использования, когда злоумышленник может повлиять на значение MailboxAddress (MAIL FROM / RCPT TO), которое позже сериализуется в сеанс SMTP. RFC 5321 явно определяет грамматику локальной части почтового ящика SMTP и не допускает CR (13) или LF (10) внутри строки в кавычках (диапазоны qtextSMTP и quoted-pairSMTP исключают управляющие символы). Команды SMTP завершаются <CRLF>, что делает внедрение CRLF в аргументы команды особенно опасным.
Эта проблема исправлена в версии 4.15.1.
Показать оригинальное описание (EN)
MimeKit is a C# library which may be used for the creation and parsing of messages using the Multipurpose Internet Mail Extension (MIME), as defined by numerous IETF specifications. Prior to version 4.15.1, a CRLF injection vulnerability in MimeKit allows an attacker to embed \r\n into the SMTP envelope address local-part (when the local-part is a quoted-string). This is non-compliant with RFC 5321 and can result in SMTP command injection (e.g., injecting additional RCPT TO / DATA / RSET commands) and/or mail header injection, depending on how the application uses MailKit/MimeKit to construct and send messages. The issue becomes exploitable when the attacker can influence a MailboxAddress (MAIL FROM / RCPT TO) value that is later serialized to an SMTP session. RFC 5321 explicitly defines the SMTP mailbox local-part grammar and does not permit CR (13) or LF (10) inside Quoted-string (qtextSMTP and quoted-pairSMTP ranges exclude control characters). SMTP commands are terminated by <CRLF>, making CRLF injection in command arguments particularly dangerous. This issue has been patched in version 4.15.1.
Характеристики атаки
Последствия
Строка CVSS v4.0