{"id":29004,"date":"2020-05-21T16:54:27","date_gmt":"2020-05-21T20:54:27","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=29004"},"modified":"2020-05-21T16:54:27","modified_gmt":"2020-05-21T20:54:27","slug":"remote-code-execution-in-qmail","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2020\/05\/21\/remote-code-execution-in-qmail\/","title":{"rendered":"Remote Code Execution in qmail"},"content":{"rendered":"<p><a href=\"https:\/\/www.openwall.com\/lists\/oss-security\/2020\/05\/19\/8\">Qualys<\/a> (via <a href=\"https:\/\/twitter.com\/mpweiher\/status\/1263199935173976070\">Marcel Weiher<\/a>, <a href=\"https:\/\/twitter.com\/mjg59\/status\/1262838960318889984\">Matthew Garrett<\/a>, <a href=\"https:\/\/news.ycombinator.com\/item?id=23237716\">Hacker News<\/a>):<\/p>\n<blockquote cite=\"https:\/\/www.openwall.com\/lists\/oss-security\/2020\/05\/19\/8\">\n<p>Surprisingly, we re-discovered these vulnerabilities during a recent\nqmail audit; they have never been fixed because, as <a href=\"https:\/\/cr.yp.to\/qmail\/guarantee.html\">stated<\/a> by qmail&rsquo;s\nauthor Daniel J. Bernstein:<\/p>\n<blockquote cite=\"https:\/\/cr.yp.to\/qmail\/guarantee.html\"><p>This claim is denied. Nobody gives gigabytes of memory to each\n    qmail-smtpd process, so there is no problem with qmail&rsquo;s assumption\n    that allocated array lengths fit comfortably into 32 bits.<\/p>\n<\/blockquote><p>Indeed, the memory consumption of each qmail-smtpd process is severely\nlimited by default (by qmail-smtpd&rsquo;s startup script); for example, on\nDebian 10 (the latest stable release), it is limited to roughly 7MB.<\/p>\n<p>Unfortunately, we discovered that these vulnerabilities also affect\nqmail-local, which is reachable remotely and is not memory-limited by\ndefault[&#8230;]<\/p>\n<\/blockquote>\n<p>See also: <a href=\"https:\/\/cr.yp.to\/qmail\/qmailsec-20071101.pdf\">Some thoughts on security after ten years of qmail 1.0<\/a> (PDF).<\/p>","protected":false},"excerpt":{"rendered":"<p>Qualys (via Marcel Weiher, Matthew Garrett, Hacker News): Surprisingly, we re-discovered these vulnerabilities during a recent qmail audit; they have never been fixed because, as stated by qmail&rsquo;s author Daniel J. Bernstein: This claim is denied. Nobody gives gigabytes of memory to each qmail-smtpd process, so there is no problem with qmail&rsquo;s assumption that allocated [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2020-05-21T20:54:30Z","apple_news_api_id":"11737854-28ed-4bc9-b6b3-e818ec9817f0","apple_news_api_modified_at":"2020-05-21T20:54:30Z","apple_news_api_revision":"AAAAAAAAAAD\/\/\/\/\/\/\/\/\/\/w==","apple_news_api_share_url":"https:\/\/apple.news\/AEXN4VCjtS8m2s-gY7JgX8A","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[4],"tags":[575,131,45,150,71,1946,481,163],"class_list":["post-29004","post","type-post","status-publish","format-standard","hentry","category-programming-category","tag-64-bit","tag-bug","tag-c","tag-email","tag-programming","tag-qmail","tag-smtp","tag-unix"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/29004","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=29004"}],"version-history":[{"count":1,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/29004\/revisions"}],"predecessor-version":[{"id":29005,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/29004\/revisions\/29005"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=29004"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=29004"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=29004"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}