De release van de HTTP-server Apache 2.4.52 is gepubliceerd, met 25 wijzigingen en 2 kwetsbaarheden opgelost:
- CVE-2021-44790 – bufferoverloop in mod_lua, die zich manifesteert bij het parseren van multipart-verzoeken. De kwetsbaarheid treft configuraties waarin Lua-scripts de functie r:parsebody() aanroepen om de request body te parseren, en stelt een aanvaller in staat om een bufferoverloop te veroorzaken door een speciaal gevormd verzoek te verzenden. Tot nu toe zijn er geen exploitatiegevallen ontdekt, maar het probleem kan potentieel leiden tot de uitvoering van eigen code op de server.
- CVE-2021-44224 – SSRF-kwetsbaarheid (Server Side Request Forgery) in mod_proxy, waardoor in configuraties met de instelling „ProxyRequests on” een verzoek met een speciaal gevormde URI kan worden omgeleid naar een andere handler op dezelfde server die verbindingen via een Unix Domain Socket accepteert. Dit probleem kan ook worden benut om een crash te veroorzaken door omstandigheden te creëren voor het dereferenceren van een null pointer. Het probleem treft Apache httpd-versies vanaf 2.4.7.
De meest opvallende wijzigingen die niet met beveiliging te maken hebben:
- In mod_ssl is ondersteuning toegevoegd voor builds met de OpenSSL 3-bibliotheek.
- De detectie van de OpenSSL-bibliotheek in autoconf-scripts is verbeterd.
- In mod_proxy is voor tunneling-protocollen de mogelijkheid toegevoegd om het omleiden van half-open TCP-verbindingen uit te schakelen door het instellen van de parameter „SetEnv proxy-nohalfclose”.
- Extra controles zijn toegevoegd om te bevestigen dat URI's die niet voor proxying zijn bedoeld een http/https-schema bevatten, terwijl die voor proxying wel een hostnaam bevatten.
- In mod_proxy_connect en mod_proxy is het verboden om de statuscode te wijzigen na deze naar de client te hebben verzonden.
- Bij het verzenden van tussenresultaten na ontvangen verzoeken met de header „Expect: 100-Continue” wordt gezorgd voor de indicatie van de status „100 Continue”, in plaats van de huidige status van het verzoek.
- In mod_dav is ondersteuning toegevoegd voor CalDAV-extensies, waarbij bij het genereren van eigenschappen zowel documentelementen als eigenschapselementen in aanmerking moeten worden genomen. Nieuwe functies dav_validate_root_ns(), dav_find_child_ns(), dav_find_next_ns(), dav_find_attr_ns() en dav_find_attr() zijn toegevoegd en kunnen vanuit andere modules worden aangeroepen.
- In mpm_event is het probleem opgelost van het stoppen van inactieve child-processen na een piekbelasting op de server.
- In mod_http2 zijn regressieve wijzigingen opgelost die leiden tot onjuist gedrag bij het verwerken van de beperkingen MaxRequestsPerChild en MaxConnectionsPerChild.
- De mogelijkheden van de mod_md-module, die wordt gebruikt voor de automatisering van het verkrijgen en beheren van certificaten met behulp van het ACME-protocol (Automatic Certificate Management Environment), zijn uitgebreid:
- Ondersteuning voor de ACME External Account Binding (EAB) mechanisme is toegevoegd, in te schakelen met de MDExternalAccountBinding-directive. Waarden voor EAB kunnen worden ingesteld vanuit een extern JSON-bestand, zodat authenticatieparameters in het hoofdlabel niet onthuld worden. de serverconfiguratie.
- In de directive ‘MDCertificateAuthority’ is controle toegevoegd om te verifiëren of de URL-parameter http/https of een van de vooraf gedefinieerde namen (‘LetsEncrypt’, ‘LetsEncrypt-Test’, ‘Buypass’ en ‘Buypass-Test’) is opgegeven.
- Het is toegestaan om de directive MDContactEmail op te geven binnen de sectie .
- Verschillende fouten zijn opgelost, waaronder een geheugenlek dat zich voordeed bij fouten tijdens het laden van de privésleutel.
Bron: opennet.ru
