image

15 jaar oud qmail-lek maakt remote code execution mogelijk

zondag 24 mei 2020, 11:35 door Redactie, 14 reacties

Een 15 jaar oude kwetsbaarheid in qmail die nooit werd verholpen blijkt toch remote code execution mogelijk te maken, zo hebben onderzoekers van securitybedrijf Qualys ontdekt. Qmail is een mail transfer agent (MTA) voor Unix en Linux. In 2005 werden er drie kwetsbaarheden in de software ontdekt waardoor het mogelijk was om een integer overflow te veroorzaken. De ontwikkelaar dacht dat er in de standaardinstallatie van qmail geen misbruik van kon worden gemaakt, en besloot de lekken daarom niet te patchen.

Vijftien jaar later hebben onderzoekers van Qualys de kwetsbaarheden opnieuw ontdekt en aangetoond dat remote code execution bij een standaardinstallatie wel degelijk mogelijk is. Destijds werd er gedacht dat de kwetsbaarheden alleen aanwezig waren in het qmail-smtpd-proces. Dit proces kan standaard zeer weinig geheugen gebruiken, waardoor de ontwikkelaar stelde dat een aanvaller geen misbruik van de kwetsbaarheden kon maken. Voor het uitvoeren van de aanval zou namelijk meer dan 4GB aan geheugen per proces zijn vereist, terwijl qmail-smtpd op Debian 10 maximaal zo'n 7MB kan gebruiken.

De onderzoekers ontdekten dat ook qmail-local kwetsbaar is. Dit onderdeel van de software is verantwoordelijk voor het afleveren van e-mailberichten. Het is op afstand benaderbaar en kent geen geheugenbeperkingen. Daardoor zijn qmail-gebruikers door alleen het versturen van een malafide e-mail op afstand aan te vallen. Beheerders van een qmail-installatie krijgen dan ook het advies om voor alle qmail-services een geheugenlimiet in te stellen of de maximale toegestane grootte van een e-malbericht op te geven.

Onderzoeker Georgi Guninski die de drie kwetsbaarheden destijds in 2005 ontdekte hekelt qmail voor het niet verhelpen van de kwetsbaarheden en het aanbieden van software met bekende beveiligingslekken.

Reacties (14)
24-05-2020, 14:07 door Anoniem
djb offers monetary bounty for verifiable qmail exploit,
called "qmail security guarantee" [1].

He hasn't awarded the bounty yet, despite several
vulnerabilities found by us in 2005 [2] and in 2020 [3]

Flauw dat ze geen bounty uitkeren.
24-05-2020, 14:37 door souplost
Slordig van die ontwikkelaar. Security gaat altijd voor, ondanks dat de meeste van dit soort overflows wordt afgevangen door SELinux
qmail wordt al heel lang niet meer gebruikt in een RPM distro zoals Redhat en Fedora.
Is meer een Debian based of BSD dingetje: https://pkgs.org/search/?q=qmail maar dan nog, postfix is ook daar toch wel de standaard.
Op een desktop gebruikt Thunderbird geen MTA
24-05-2020, 14:58 door Anoniem
Door souplost:
Op een desktop gebruikt Thunderbird geen MTA

Uhh, die moet je me even uitleggen...
24-05-2020, 15:18 door Anoniem
Onderzoeker ... hekelt qmail voor het niet verhelpen van de kwetsbaarheden
Ondanks dat het niet een direct gevaar lijkt te zijn, waarom niet gewoon verhelpen met een bugfix en normaal code onderhoud.
24-05-2020, 15:52 door johanw
Dat zal je leren om geen sendmail te gebruiken. :-)
24-05-2020, 15:59 door Anoniem
Door johanw: Dat zal je leren om geen sendmail te gebruiken. :-)

Ontwikkelaar Bernstein heeft genoeg zelfvertrouwen, zijn software is namelijk 'ontastbaar' ... denkt hij:

I like to think that my research has already helped stop some attacks. Example: Internet post-office software is a notorious source of security problems. I published my own post-office software, qmail, in 1996; my $500 reward for publication of a qmail security hole has never been claimed, and I don't expect that it ever will be. An October 2001 survey found qmail running on seven hundred thousand mail servers around the Internet.

http://cr.yp.to/export/security.html
24-05-2020, 16:58 door Anoniem
Kijk dat deze qmail developer een bug pertinent niet wilt fixen, is flauw, maar dat neemt niet weg dat je als distro bouwer je packages wel met patches kunt uitrollen op een OS. RHEL doet dat soort dingen onder het idee van back-porten: oudere versies van packages patchen met bug fixes die van upstream komen en die patches in de RPM bakken. Debian met zijn .deb kan dat ook doen.
24-05-2020, 17:44 door Anoniem
Door Anoniem: Flauw dat ze geen bounty uitkeren.
"Ze" is in dit geval DJB, oftewel D.J. Bernstein, de nogal eigenzinnige auteur van qmail.

Het was mij al jaren duidelijk dat je qmail (net als exchange) niet zonder meer aan het open internet moet hangen, er moet iets voor om de mailstroom (twee kanten op) op te schonen.


Door Anoniem:
Onderzoeker ... hekelt qmail voor het niet verhelpen van de kwetsbaarheden
Ondanks dat het niet een direct gevaar lijkt te zijn, waarom niet gewoon verhelpen met een bugfix en normaal code onderhoud.
Bernstein heeft zo z'n redenen. Hij is wiskundige en dat is soms erg goed te merken.
24-05-2020, 20:39 door Anoniem
Door Anoniem:
Door souplost:
Op een desktop gebruikt Thunderbird geen MTA

Uhh, die moet je me even uitleggen...

Hij bedoelt denk ik dat je meestal Thunderbird op een desktop niet laat communiceren met een MTA op diezelfde desktop.
Dat kan wel, maar de meesten configureren een MTA bij hun provider of bij een algemene mail aanbieder.
Het voordeel is dan dat je sneller merkt als je wat fout doet, maar nadeel is dat het na de klik op de "verzend" knop langer
duurt voor hij klaar is bij een grote mail.
24-05-2020, 22:03 door souplost
Door Anoniem:
Door souplost:
Op een desktop gebruikt Thunderbird geen MTA

Uhh, die moet je me even uitleggen...
Thunderbird haalt het rechtstreeks op bij (in geval van een google account) imap.google.com of levert het af bij smtp.gmail.com. Daar zit geen sendmail, qmail, postfix, procmail etc tussen.
25-05-2020, 07:39 door Anoniem
Door Anoniem:
Onderzoeker ... hekelt qmail voor het niet verhelpen van de kwetsbaarheden
Ondanks dat het niet een direct gevaar lijkt te zijn, waarom niet gewoon verhelpen met een bugfix en normaal code onderhoud.

DJB's qmail 1.03 is ernstig verouderd (al 22 jaar geen update meer). Er zijn wel alternatieven (forks) gebaseerd op de qmail code die enigsins mee kunnen komen als je niet teveel eisen stelt, zoals notqmail en s/qmail.

Er is op zich weinig mis met qmail (vooral als je van KISS houdt), maar ja, het is geen 1998 meer. Niemand gebruikt nog plat SMTP behalve spammers en massamailing amateurs (lees: spammers).

DJB's persoonlijkheid is wel problematisch. Zeggen dat er geen claim is geweest terwijl dat wel zo is. Een potje de andere kant opkijken bij een probleem is wel toevertrouwd aan alleenwerkende programmeurs. Dat heeft Wietse Venema ook. De reden waarom ik geen Postfix gebruik is die eigenzinnigheid waarmee wordt vastgehouden aan Sendmail's eigenzinnigheid (zeg maar gerust: BofH praktijken). Met name het manipuleren van de inhoud van berichten (DATA) zit mij dwars. Dat moet je niet doen want het maakt detectie van malware en spam berichten moeilijker. Vandaar dat qmail zo geliefd is/was onder mail scanners operators zoals MessageLabs. Voor de gewone gebruiker maakt het allemaal niets uit. Postfix is dan prima geschikt.
25-05-2020, 09:11 door Anoniem
Door souplost: Is meer een Debian based of BSD dingetje: https://pkgs.org/search/?q=qmail maar dan nog, postfix is ook daar toch wel de standaard.
De standaard-MTA in Debian is niet Postfix maar Exim.
Door souplost: Op een desktop gebruikt Thunderbird geen MTA
Het is sowieso tegenwoordig vooral bedoeld om pakketten te ondersteunen die erop staan dat ze status-emails verzenden. De meeste mensen gebruiken voor hun e-mail grafische of web-based clients die niet de lokale mail-storage gebruiken maar verbinding maken met servers.
Door Anoniem: Bernstein heeft zo z'n redenen. Hij is wiskundige en dat is soms erg goed te merken.
Toen ik ooit, rond het jaar 2000 moet dat geweest zijn, een MTA had te selecteren kwam ik een discussie tegen die in het openbaar was gevoerd tussen Daniel Bernstein en Wietse Venema, de maker van Postfix. Postfix is zeer modulair van opzet, met verschillende taken in verschillende processen en dus address spaces, waarbij elk proces zijn eigen executable heeft en die executable geen code bevat die niet voor die taak nodig is. Venema vond die benadering nodig voor security: mocht een aanvaller via bijvoorbeeld een buffer overflow kunnen forceren dat andere code wordt uitgevoerd dan de bedoeling is dan wil je niet allerlei code die voor een taak niet nodig is in de executable hebben rondhangen zodat die op een presenteerblaadje aan de aanvaller wordt aangereikt om te misbruiken. Bernstein dacht daar anders over. Als ik me niet vergis is verdeelt ook de MTA in Qmail taken over verschillende processen maar delen die wel dezelfde executable. Zijn code was alleen zo goed in zijn eigen ogen dat waar Venema bang voor was in Qmail kennelijk een non-issue was.

Daarnaast bleek ook dat Bernstein zich in Qmail niet aan alle SMTP-standaards hield, domweg omdat hij het met aspecten ervan niet eens was en het implementeerde zoals hij vond dat het wel had gemoeten.

Ik heb toen wat in die discussie gegrasduind (ik kan hem nu niet meer vinden helaas), en kreeg de indruk dat Wietse Venema verstandig en bedachtzaam was, onderkende dat hij zelf menselijk genoeg was om fouten te maken en dus koos voor een architectuur die de reikwijdte van die fouten beperkte. Bernstein daarentegen kwam op me over als arrogant, betweterig, wel zeer intelligent maar aanzienlijk minder verstandig. Mij staat ook bij dat hij als erg competitief overkwam, bezig met een wedstrijdje wiens MTA het beste was, terwijl Venema op grond van verstandig denken over architectuur en veiligheid zijn product vormgaf zonder geïnteresseerd te zijn in "winnen" van een ander; als die ook iets goeds maakt zijn er gewoon meer goede dingen beschikbaar om uit te kiezen en zat Venema er totaal niet mee als iemand voor iets anders dan Postfix koos.

Ik garandeer niet dat ik me dit allemaal goed herinner, in 20 jaar vervagen herinneringen, maar als algemene indruk zal dit aardig kloppen.

Het was destijds een van de redenen dat ik veel meer vertrouwen kreeg in Postfix dan in Qmail. Er waren nog andere kandidaten, maar ik ben toen op Postfix uitgekomen en dat ontpopte zich als een goede keuze, het was betrouwbaar en robuust, ik had er eigenlijk geen omkijken meer naar toen het eenmaal was ingericht.

Dat wil niet zeggen dat Daniel Bernstein geen geweldige dingen heeft bedacht. Maildir is zijn bedenksel, en een wezenlijke verbetering ten opzichte van het Mbox-formaat, om maar wat te noemen, en Qmail is wel degelijk robuust gebleken over het geheel genomen. Maar als je leest hoe hij heeft gereageerd op de paar lekken die anderen toch nog hebben gevonden, door te argumenteren dat het geen lekken waren, dan lijkt die competitieve neiging bij hem inderdaad de boventoon te voeren en verbeteringen in de weg te kunnen staan. Als ik mijn natuurlijk zeer onvolledige indruk kort moet samenvatten zou ik zeggen: een briljant ettertje.
25-05-2020, 10:53 door Anoniem
Postfix of OpenSMTPd nemen en weg met die oude met plakband aan elkaar hangende meuk :)
Bieden worden goed ondersteund door elke denkbare distro en heeft talloze plugins etc.
25-05-2020, 12:06 door Anoniem
Door Anoniem: Postfix of OpenSMTPd nemen en weg met die oude met plakband aan elkaar hangende meuk :)
Bieden worden goed ondersteund door elke denkbare distro en heeft talloze plugins etc.

De beste optie voor de meesten is Exim. Dat staat volgens een recente scan op 57% van de servers. Het is makkelijk te configureren voor standaard situaties en het is flexibel voor niet-standaard situaties.

OpenSMTPd is de standaard mail server voor OpenBSD. Het wordt in maar 0,05% van de servers gebruikt. Ik kan nu ook weer niet zeggen dat een shell uitvoeren met data uit MAIL FROM en RCPT TO en zelfs DATA een veilig ontwerp is.

http://www.securityspace.com/s_survey/data/man.202004/mxsurvey.html
https://lwn.net/Articles/810882/
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.