Veröffentlichung des HTTP-Servers Apache 2.4.58 mit der Behebung von DoS-SicherheitsanfÀlligkeiten in HTTP/2

Die Veröffentlichung des HTTP-Servers Apache 2.4.58 wurde bekannt gegeben, in dem 33 Änderungen und drei SicherheitsanfĂ€lligkeiten behoben wurden, von denen zwei mit der Möglichkeit eines DoS-Angriffs auf Systeme, die das HTTP/2-Protokoll verwenden, in Zusammenhang stehen.

  • CVE-2023-45802 — Schaffung von Bedingungen fĂŒr das Aufbrauchen von freiem Speicher aufgrund der verzögerten Speicherfreigabe nach dem ZurĂŒcksetzen eines HTTP/2-Streams mit einem RST-Flag. Da der Speicher nicht sofort nach Verarbeitung des RST-Flags, sondern erst nach Schließung der Verbindung freigegeben wird, kann ein Angreifer den Speicherverbrauch erheblich erhöhen, indem er neue Anfragen sendet und diese mit einem RST-Paket zurĂŒcksetzt, ohne die Verbindung zu schließen.
  • CVE-2023-43622 — Unendliche Blockierung der Verarbeitung einer HTTP/2-Verbindung, wenn sie mit einer anfĂ€nglichen GrĂ¶ĂŸe des Gleitfensters von 0 geöffnet wurde. Diese Schwachstelle kann fĂŒr einen Denial-of-Service-Angriff genutzt werden, indem das Limit fĂŒr die maximal zulĂ€ssige Anzahl von offenen Verbindungen erschöpft wird.
  • CVE-2023-31122 — Schwachstelle in mod_macro, die dazu fĂŒhrt, dass Daten aus einem Bereich außerhalb des zugewiesenen Puffers gelesen werden.

Unter den Änderungen, die nicht sicherheitsrelevant sind:

  • In mod_http2 wurde die UnterstĂŒtzung fĂŒr die Verwendung des WebSocket-Protokolls ĂŒber den Stream in der HTTP/2-Verbindung (RFC 8441) hinzugefĂŒgt. Um WebSocket ĂŒber HTTP/2 zu aktivieren, wurde die Direktive 'H2WebSockets on|off' vorgeschlagen.
  • In mod_http2 wurde die Direktive 'H2EarlyHint name value' hinzugefĂŒgt, um Header in der Antwort '103 Early Hints' hinzuzufĂŒgen.
  • In mod_http2 wurde die Direktive 'H2ProxyRequests on|off' hinzugefĂŒgt, um die Verarbeitung von Anfragen nach dem HTTP/2-Protokoll in der Proxy-Konfiguration zu steuern.
  • In mod_http2 wurde die Direktive 'H2MaxDataFrameLen n' hinzugefĂŒgt, um die maximale GrĂ¶ĂŸe des Antwortkörpers in Bytes zu beschrĂ€nken, die in einem DATA-Frame in HTTP/2 ĂŒbertragen wird. StandardmĂ€ĂŸig ist ein Limit von 16 KB festgelegt.
  • Die Datei mime.types wurde aktualisiert, in der die Erweiterung '.js' mit dem Typ 'text/javascript' anstelle von 'application/javascript' verknĂŒpft ist, und die Erweiterungen '.mjs' (mit dem Typ 'text/javascript') und '.opus' ('audio/ogg') wurden hinzugefĂŒgt. Außerdem wurden MIME-Typen und Erweiterungen hinzugefĂŒgt, die in WebAssembly verwendet werden.
  • Das Modul mod_tls (Alternativen zu mod_ssl in Rust) wurde auf die Verwendung der Bibliothek rustls-ffi 0.9.2+ umgestellt.
  • Im Modul mod_md wurde die Direktive 'MDMatchNames all|servernames' hinzugefĂŒgt, um die Zuordnung von MDomains zu den Inhalten der VirtualHosts zu steuern.
  • Im Modul mod_md wurde die Direktive 'MDChallengeDns01Version' hinzugefĂŒgt, um die Version des ACME-Protokolls auszuwĂ€hlen, die bei der Verifizierung ĂŒber DNS verwendet wird.
  • Im mod_md wurde die Verwendung der Direktive MDChallengeDns01 fĂŒr einzelne Domains.
  • In mod_dav wurde die Direktive ‚DavBasePath‘ hinzugefĂŒgt, um den Pfad zum Wurzelverzeichnis von WebDav zu konfigurieren.
  • In mod_alias wurde die Direktive ‚AliasPreservePath‘ hinzugefĂŒgt, um den Aliaswert im Location-Block als vollstĂ€ndigen Pfad zu verwenden.
  • In mod_alias wurde die Direktive ‚RedirectRelative‘ hinzugefĂŒgt, die eine Umleitung mit relativen Pfaden zulĂ€sst.
  • Die Direktive ErrorLogFormat wurde um die Format-Spezifizierer %{z} und %{strftime-format} erweitert.
  • In mod_deflate wurde die Direktive ‚DeflateAlterETag‘ hinzugefĂŒgt, um die Änderung des ETag bei der Verwendung von Kompression zu steuern.
  • Die Leistung der Funktion send_brigade_nonblocking() wurde optimiert.
  • In mod_status wurde die Duplikation der SchlĂŒssel „BusyWorkers“ und „IdleWorkers“ entfernt, und ein neuer ZĂ€hler „GracefulWorkers“ hinzugefĂŒgt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4