Apache HTTP Server 2.0.49 freigegeben Wir, die Apache Software Foundation und das Apache HTTP Server Projekt, freuen uns, das Release des Apache HTTP Servers 2.0, Version 2.0.49, bekannt zu geben. Diese Ankündigung führt die wesentlichen Änderungen von 2.0.49 gegenüber 2.0.48 auf. Die Ankündigung ist auch in englischer Sprache unter http://www.apache.org/dist/httpd/Announcement2.txt verfügbar.
Diese Version des Apache ist vornehmlich ein Bug-Fix-Release. Eine
Zusammenfassung der behobenen Fehler ist am Ende des Dokuments aufgeführt.
Apache 2.0.49 behebt insbesondere drei Sicherheitslücken.
Wenn mehrere lauschende Sockets verwendet werden, ist aufgrund einer
Wettlaufsituation in der Behandlung von kurzlebigen Verbindungen auf
einigen Plattformen ein Denial-of-Service-Angriff möglich. Dieses
Problem ist bei einigen AIX-Versionen, Solaris und Tru64 bekannt.
Es betrifft nicht FreeBSD oder Linux.
[http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0174]
Vom Client übermittelte beliebige Zeichenfolgen können in das
Fehlerprotokoll geschrieben werden, was die Ausnutzung von
Sicherheitslücken in verschiedenen Terminalemulatoren ermöglicht.
[http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2003-0020]
Ein von außen auslösbares Speicherleck in mod_ssl kann aufgrund von
übermäßigem Speicherverbrauch einen Denial-of-Service-Angriff
ermöglichen.
[http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0113]
Dieses Release ist zu Modulen kompatibel, die für Apache 2.0.42 und
später kompiliert wurden. Wir betrachten dieses Release als die beste
verfügbare Version des Apache und empfehlen allen Benutzern früherer
Versionen ein Upgrade.
Apache 2.0.49 steht unter
http://httpd.apache.org/download.cgi
zum Download bereit.
Für eine vollständige Liste der Änderungen lesen Sie bitte die Datei
CHANGES_2.0, welche von der obigen Seite aus verlinkt ist.
Apache 2.0 bietet zahlreiche Erweiterungen, Verbesserungen und
Performancesteigerungen gegenüber der 1.3-Codebasis. Eine Übersicht der
seit 1.3 eingeführten Features finden Sie unter
http://httpd.apache.org/docs-2.0/new_features_2_0.html
Wenn Sie diese Version des Apache installieren oder auf diese Version
updaten, beachten Sie bitte folgendes:
Sollten Sie den Apache mit einem der threaded-MPMs verwenden wollen, so
müssen Sie sicherstellen, dass die Module (und die benötigten
Bibliotheken), die Sie verwenden wollen, Thread-sicher sind. Weitere
Informationen erfragen Sie bitte bei den jeweiligen Anbietern dieser
Module.
Wesentliche Änderungen des Apache 2.0.49
Seit Apache 2.0.48 geschlossene Sicherheitslücken
*) SECURITY: CAN-2004-0174 (cve.mitre.org)
Korrektur von "verhungernden" lauschenden Sockets, wo eine
kurzlebige Verbindung an einem selten verbundenen, lauschenden Socket
einen Kindprozess veranlaßt, den Accept-Mutex festzuhalten und neue
Verbindungen solange zu blockieren, bis eine weitere Verbindung auf
auf dem selten verbundenen Socket eintrifft. Bei Apache 2.x existieren
keine Performance-Bedenken, diese Logik für Plattformen zu aktivieren,
die sie nicht benötigen. Darum ist sie außer für Win32 überall
aktiviert.
[Jeff Trawick]
*) SECURITY: CAN-2004-0113 (cve.mitre.org)
mod_ssl: Behebung eines Speicherlecks bei der Behandlung von
einfachen HTTP-Anfragen am SSL-Port. PR 27106. [Joe Orton]
*) SECURITY: CAN-2003-0020 (cve.mitre.org)
Daten beliebiger Herkunft werden maskiert, bevor sie ins
Fehlerprotokoll geschrieben werden. Unmaskierte Fehlerprotokolle sind
unter Verwendung des zur Kompilierungszeit zu setzenden Schalters
"-DAP_UNSAFE_ERROR_LOG_UNESCAPED" weiterhin möglich.
[Geoffrey Young, André Malo]
Seit Apache 2.0.48 behobene Fehler und neue Features
*) Win32: find_read_listeners hat innerhalb des Win32DisableAcceptEx-
Pfades mehrere Listener nicht korrekt behandelt. [Bill Stoddard]
*) In mod_usertrack wurde ein Fehler behoben, der auftrat, wenn
CookieName nicht gesetzt war. PR 24483.
[Manni Wood <manniwood planet-save.com>]
*) Piped-Log-Probleme wurden behoben: fälschliche Meldungen "piped log
program '(null)' failed" während des Neustarts, sowie Probleme mit
dem Logger-Neustart nachdem der Apache gestoppt wurde. PR 21648,
PR 24805. [Jeff Trawick]
*) Die Dateieendungen für Real-Media-Dateien wurden korrigiert und die
Endung rpm aus mime.types entfernt. PR 26079.
[Allan Sandfeld <kde carewolf.com>]
*) Die zur Kompilierungszeit definierbare Längenbegrenzung für den
Request-String wurde entfernt. Die Länge wird nun ausschließlich durch
die Konfigurationsanweisung LimitRequestLine bestimmt.
[Paul J. Reder]
*) mod_ssl: Die Close-Alert-Nachricht wird vor dem Schließen der
SSL-Sitzung an die Gegenstelle gesendet. PR 27428.
[Madhusudan Mathihalli, Joe Orton]
*) mod_ssl: Behebung eines Fehlers bei der Behandlung der Passphrase, der
später zu störenden Fehlern in SSL-Funktionen führte. PR 21160.
[Joe Orton]
*) mod_log_config: Behebung von Verfälschungen gepufferter Logs bei
threaded-MPMs. PR 25520. [Jeff Trawick]
*) Korrektur des Ausdrucksparsers von mod_include, um Zeichenketten
korrekt zu erkennen, auch wenn sie mit einem maskierten Zeichen
beginnen. [André Malo]
*) Hinzufügen eines Hooks für schwere Ausnahmefehler zur Verwendung von
Diagnosemodulen. Der Hook ist nur verfügbar, wenn der
Konfigurationsparameter --enable-exception-hook verwendet und die
Direktive EnableExceptionHook auf "on" gesetzt wurde. [Jeff Trawick]
*) Mod_auth_digest funktioniert nun auch mit Subrequests, die eine andere
Methode benutzen als die Originalanfrage. PR 25040.
[Josh Dady <jpd indecisive.com>]
*) Behebung des Fehlers "Expected </Foo>> but saw </Foo>" verschachtelten,
Containern ohne Argumente. ["Philippe M. Chiasson" <gozer cpan.org>]
*) mod_auth_ldap: Korrektur einiger Speicherzugriffsverletzungen in der
Cache-Logik. PR 18756.
[Matthieu Estrade <apache moresecurity.org>, Brad Nicholes]
*) mod_cgid: Neustart des cgid-Daemons, wenn er abgestürzt ist. PR 19849
[Glenn Nielsen <glenn apache.org>]
*) Die gesamte Codebasis wurde neu lizenziert und ist nun unter der
Apache-Lizenz, Version 2.0 (http://www.apache.org/licenses) verfügbar.
[Apache Software Foundation]
*) Korrektur der Reihenfolge von Cache-Löschungen in mod_mem_cache.
[Jean-Jacques Clar, Cliff Woolley]
*) mod_setenvif: Korrektur des Optimierers für reguläre Ausdrücke,
der unter bestimmten Umständen den übermittelten regulären Ausdruck
als Literal behandelt hat. PR 24219. [André Malo]
*) ap_mpm.h: Korrektur des Include-Schutzes von ap_mpm.h, um mpm
anstelle von mmn zu referenzieren. [André Malo]
*) mod_rewrite: Abfangen eines Grenzfalls, bei dem ungewöhnliche,
aufeinander folgende RewriteRules zu einer Antwort mit Status
400 (Bad Request) führten. [André Malo]
*) Der Fokus von ITERATE und ITERATE2 verbleibt auf dem gegenwärtigen
Modul, wenn das Modul DECLINE_CMD für die Direktive zurück gibt.
PR 22299. [Geoffrey Young <geoff apache.org>]
*) ExpiresByType unterstützt nun auch Wildcards bei IMT-Untertypen
(z.B. text/*). PR#7991 [Ken Coar]
*) Behebung einer Speicherzugriffsverletzung infolge einer negativen
Cache-Größe in mod_mem_cache cache_insert(). PR: 21285, 21287
[Bill Stoddard, Massimo Torquati, Jean-Jacques Clar]
*) core.c: Jede Datei, die größer als AP_MAX_SENDFILE ist, kann nun in
mehrere Buckets aufgesplittet werden, wenn die Unterstützung für
große Dateien aktiviert ist. Das ermöglicht es dem Apache, Dateien
größer als 2 GB zu versenden. Andernfalls laufen wir bei der
Dateigröße
in eine 32/64-bit Typenunverträglichkeit. [Brad Nicholes]
*) Korrketur von proxy_http: mod_proxy hing, wenn sowohl KeepAlive als
auch ProxyErrorOverride aktiviert waren und vom Backendserver eine
Antwort mit einem anderen Statuscode als 200 und ohne Daten
generiert wurde. (z.B.: Ein Client sendet eine Anfrage, welche die
Header "If-Modified-Since" und "If-None-Match" enthält, und auf die der
Backend-Server mit dem Status 304 antwortet.)
[Graham Wiseman <gwiseman fscinternet.com>, Richard Reiner]
*) mod_dav: Anfragen, die unmaskierte Fragmente in der URI enthalten,
werden abgewiesen. PR 21779. [Amit Athavale <amit_athavale lycos.com>]
*) Aufbau des Arrays erlaubter Methoden mit angemessenen Dimensionen, um
eine mögliche Speicherkorruption zu korrigieren. [Jeff Trawick]
*) mod_ssl: Behebung einer möglichen Speicherzugriffsverletzung bei der
Abfrage der SSL_SESSION_ID. PR 15057. [Otmar Lendl <lendl nic.at>]
*) mod_ssl: Korrektur der Streaming-Ausgabe von nph-CGI-Skripten.
PR 21944 [Joe Orton]
*) mod_usertrack überprüft den Cookie2-Header nicht länger auf den
Cookienamen. PR 11475. [Chris Darrochi <chrisd pearsoncmg.com>]
*) mod_usertrack überschreibt andere Cookies nicht mehr. PR 26002.
[Scott Moore <apache nopdesign.com>]
*) MPM worker: Behebung eines Fehlers bei der Stack-Überlagerung, der
den Parent-Prozess abstürzen lassen konnte. [Jeff Trawick]
*) Win32: Neue Direktive Win32DisableAcceptEx. Diese Direktive für
Windows NT/2000/XP ist hilfreich, um Fehler in einigen überlagernden
Diensten von Drittanbietern wie zum Beispiel Virenscannern, VPN- und
Firewallprodukten zu umgehen, welche die Winsock-2-API nicht korrekt
verwenden. Verwenden Sie diese Direktive, wenn Ihr Server
AcceptEx-Fehlermeldungen ausgibt.
[Allan Edwards, Bill Rowe, Bill Stoddard, Jeff Trawick]
*) Die Variable REMOTE_PORT ist nun in mod_rewrite verfügbar.
PR 25772. [André Malo]
*) Korrektur einer langen Verzögerung bei CGI-Anfragen und
KeepAlive-Verbindungen unter AIX. [Jeff Trawick]
*) mod_autoindex: Einführung der neuen Option 'XHTML', um bei der Ausgabe
zwischen HTML 3.2 und XHTML 1.0 zu wechseln. PR 23747. [André Malo]
*) Die XHTML-Dokumenttyp-Definition wurde zu httpd.h hinzugefügt (kleiner
MMN-Sprung). [André Malo]
*) mod_ssl: Angabe der Version der SSL-Bibliothek, wie sie zur Laufzeit
ermittelt wird, nicht zut Kompilierungszeit. PR 23956.
[Eric Seidel <seidel apple.com>]
*) Behebung einer Speicherzugriffsverletzung bei nicht-SSL-Anfragen, wenn
das Logformat 'c' verwendet wird. PR 22741.
[Gary E. Miller <gem rellim.com>]
*) Korrektur des build-Prozesses bei parallelem make. PR 24643.
[Joe Orton]
*) mod_rewrite: Schlüssel, die einen Zeilenumbruch enthalten, ergeben jetzt
bei der Suche in externen Rewrite-Maps einen Fehler. PR 14453.
[Cedric Gavage <cedric.gavage unixtech.be>, André Malo]
*) Rückportierung der grundlegenden Überarbeitung des Filter-Parsers von
mod_include aus 2.1. Der neue Parser soll robuster sein und und all die
Grenzfälle abfangen, die von dem bisherigen nicht behandelt wurden.
Die Veränderungen der externen API im 2.1 werden von einem Wrapper
verdeckt, der die API abwärtskompatibel halten soll. [André Malo]
*) Es wurde ein neuer Hook (insert_error_filter) hinzugefügt, um es Filtern
zu ermöglichen, sich selbst während der Verarbeitung von
Fehlerrückmeldungen erneut einzuhängen. mod_expires wurde in die Lage
versetzt, diesen neuen Hook zu verwenden, um Expires-Header in gültige
Fehlerrückmeldungen einzufügen. Dies behandelt eine Verletzung einer
RFC.
Es korrigiert die PRs 19794, 24884, and 25123. [Paul J. Reder]
*) Die polnische Übersetzung der Fehlermeldungen wurde hinzugefügt.
PR 25101. [tomasz kepczynski <tomek jot23.org>]
*) Die AP_MPMQ_MPM_STATE-Funktionalität wurde zu ap_mpm_query hinzugefügt.
(Noch keine Unterstützung für BeOS- oder OS/2-MPMs) [Jeff Trawick,
Brad Nicholes, Bill Stoddard]
*) Zu mod_status wurde ein Hook hinzugefügt, um es Modulen zu ermöglichen,
Informationen zum Report von mod_status hinzuzufügen. [Joe Orton]
*) Korrektur von htdbm, damit Kommentarfelder in DBM-Dateien korrekt
generiert werden. [Justin Erenkrantz]
*) mod_dav: Beim Lesen von PUT-Daten werden Bucket-Brigaden verwendet.
Dies vermeidet Probleme, wenn der Datenstrom vom einem Eingabefilter
modifiziert wurde. PR 22104.
[Tim Robbins <tim robbins.dropbear.id.au>, André Malo]
*) Korrektur der Direktive RewriteBase, damit keine doppelten Schrägstriche
hinzugefügt werden. [André Malo]
*) Die Ausgabe von 'configure --help' wurde für einige Module verbessert.
[Astrid Keßler]
*) UseCanonicalName Off wurde korrigiert, damit die hereinkommende
Portnummer richtig geprüft wird. [Jim Jagielski]
*) Behebung langsamer graceful-Neustarts beim MPM prefork. [Joe Orton]
*) Ein Problem in mod_dav_fs bei der Namensraum-Abbildung wurde behoben.
Wenn Eigenschaftenwerte gesetzt wurden, die einen Namensraum definieren,
dann waren diese in der PROPFIND-Antwort verstümmelt. PR 11637.
[Amit Athavale <amit_athavale persistent.co.in>]
*) mod_dav: Bei MOVE/COPY-Anfragen wird ein WWW-auth-Header zurückgegeben,
wenn die gewünschte Ressource einen 401 liefert. PR 15571. [Joe Orton]
*) SECURITY: CAN-2003-0020 (cve.mitre.org)
Daten beliebiger Herkunft werden maskiert, bevor sie ins
Fehlerprotokoll geschrieben werden. Unmaskierte Fehlerprotokolle sind
unter Verwendung des zur Kompilierungszeit zu setzenden Schalters
"-DAP_UNSAFE_ERROR_LOG_UNESCAPED" weiterhin möglich.
[Geoffrey Young, André Malo]
*) mod_autoindex / core: Die Darstellung von Dateinamen mit Spezialzeichen
wie '%' schlägt nicht mehr fehl. PR 13598. [André Malo]
*) mod_status: Die CPU-Gesamtzeit wird nun akkurat berichtet, wenn ein
threaded MPM verwendet wird. PR 23795. [Jeff Trawick]
*) Ein Speicherleck bei der Behandlung von Anfragedaten während
Reverse-Proxy-Operationen wurde behoben. PR 24991.
[Larry Toppi <larry.toppi citrix.com>]
*) MPM Win32: MaxMemFree wurde implementiert, um eine Obergrenze für die
Speichermenge zu ermöglichen, die in jedem Server-Thread von der
Bucket-Brigade verwendet werden kann. [Bill Stoddard]
*) Der Cache-Code wurde so modifiziert, dass der Ablageort der Header egal
ist. Außerdem wurden eine Reihe weiterer Fehler im Cache-Code behoben,
die sich auf PR 15852 beziehen. Enthalten ist auch ein Patch, das von
Sushma Rai <rsushma novell.com> eingesandt wurde. Dieses korrigiert
mod_mem_cache, jedoch noch nicht mod_disk_cache, so dass der PR noch
nicht geschlossen wurde, da dort eben dieses verwendet wird.
[Paul J. Reder]
*) Damit der Filter nicht schweigend übersprungen wird, beklagt sich der
Apache per error_log, wenn der INCLUDE-Filter von mod_include aktiviert
ist, die betreffenden Optionen, welche dem Filter die Ausführung für die
spezielle Ressource erlauben, jedoch nicht gesetzt sind. Anschließend
entfernt der Filter sich selbst, so dass die die Warnung nur einmal
protokolliert wird. [Stas Bekman, Jeff Trawick, Bill Rowe]
*) mod_info: Konfigurationsangaben werden für die HTML-Ausgabe maskiert,
so dass sie korrekt dargestellt werden. PR 24232. [Thom May]
*) Es wurde die Möglichkeit wiederhergestellt, für Verzeichnisse, die
keine
Index-Datei enthalten, eine Beschreibung anzugeben. (kaputt seit 2.0.48)
[André Malo]
*) Ein Problem bei der Darstellung von leeren Variablen ("SetEnv foo") in
mod_include wurde behoben. PR 24734 [Markus Julen <mj zermatt.net>]
*) mod_log_config: Der Minuten-Teil der Zeitzone wird nun korrekt
protokolliert. PR 23642. [Hong-Gunn Chew <hgbug gunnet.org>]
*) mod_proxy: Es wurden Fälle korrigiert, bei denen eine ungültige
Status-Zeile zum Client gesendet werden konnte. PR 23998. [Joe Orton]
*) mod_ssl: Es wurden Speicherzugriffsverletzungen beim Start behoben, wenn
auch andere Module geladen wurden, die OpenSSL verwenden. [Joe Orton]
*) mod_ssl: Es werden lesbare OpenSSL-Fehlermeldungen in den
Protokolldateien verwendet. Für den Abruf der Fehlermeldungen wird
eine threadsichere Schnittstelle verwendet. [Joe Orton]
*) mod_expires: ExpiresDefault wird mit NULL statt mit "" initialisiert,
um einen Internal Server Error zu vermeiden, wenn es verwendet wird,
ohne in der Datei httpd.conf gesetzt zu werden. PR: 23748, 24459
[André Malo, Liam Quinn <liam htmlhelp.com>]
*) mod_autoindex: Das <tr> Start-Tag wird nicht ausgelassen, wenn die
Option SuppressIcon gesetzt ist. PR 21668.
[Jesse Tie-Ten-Quee <highos highos.com>]
*) mod_include erlaubt keine ETag-Header mehr bei 304-Antworten.
PR 19355. [Geoffrey Young <geoff apache.org>, André Malo]
*) EBDIC: Header werden zu ASCII konvertiert, bevor sie gesendet
werden (kaputt seit 2.0.44). [Martin Kraemer]
*) Es können wieder Fehler in Skript-Kindprozessen von
mod_ext_filter/mod_cgi, wie z.B. ein Fehlschlagen von exec protokolliert
werden. Dies wurde unterbrochen, als solche Kindprozesse nicht mehr
das Fehlerprotokoll-Handle erbten. [Jeff Trawick]
*) mod_info wurde korrigiert, den tatsächlichen Namen der
Konfigurationsdatei und nicht den voreingestellten Namen zu verwenden.
[Aryeh Katz <aryeh secured-services.com>]
*) Der Scoreboard-Status wird gesetzt, um Protokollierungen vor dem
Aufruf von logging-Hooks aufzuzeigen, so dass server-status ein 'L'
für hängende Protokollierungen anzeigt, anstelle eines 'W'.
[Jeff Trawick]
signature.asc
Description: This is a digitally signed message part
