Apache httpd 2.4.41 mit defektem PIPE support

Die Apache Webserver Version 2.4.41 hat einen defekten PIPE Support, was die Ausführung von CGI Scripten wie PHP Prozessen behindert. Abhilfe schafft nur ein Downgrade auf die vorherige Version.

Voraussetzungen für den Fehler

Als Voraussetzungen für den Fehler braucht man lange Ausgaben und die Ausführung von PHP als CGI, aber das ist natürlich nicht auf PHP begrenzt, es darf auf ein eigenes C Exe oder Perl sein. Bei uns war es ein PDF erzeugendes Script.

  1. httpd 2.4.41
  2. Das Script wird per CGI ausgeführt
  3. Das Script erzeugt lange Ausgaben von ~500kb

Die Symptome

Die Symptome an denen Ihr erkennen könnt, daß Ihr betroffen seid:

  1. Der Aufruf eines PHP Scripts per Browser timed aus.
  2. es stappeln sich die PHP Prozesse auf dem Server
  3. ein „strace -f -p ..hier_php_pid_angeben..“  zeigt nur eine Zeile an:
    … write( ………………….. ) = xXxXxx   , wobei die Xxx eine 6-x stellige Anzahl haben wird
  4. kurze Ausgaben, wie bei WordPresswebseiten üblich, werden normal abgearbeitet

Die Lösung

Für Fedora 29 lautet die Lösung einfach Downgraden:

dnf -y downgrade https://kojipkgs.fedoraproject.org//packages/httpd/2.4.39/3.fc29/x86_64/httpd-2.4.39-3.fc29.x86_64.rpm https://kojipkgs.fedoraproject.org//packages/httpd/2.4.39/3.fc29/x86_64/mod_ssl-2.4.39-3.fc29.x86_64.rpm https://kojipkgs.fedoraproject.org//packages/httpd/2.4.39/3.fc29/x86_64/httpd-tools-2.4.39-3.fc29.x86_64.rpm https://kojipkgs.fedoraproject.org//packages/httpd/2.4.39/3.fc29/noarch/httpd-filesystem-2.4.39-3.fc29.noarch.rpm

systemctl restart httpd

Das war es dann auch schon. GGf. müßt Ihr noch liegen gebliebene Prozesse killen, aber die sollten beim httpd restart eigentlich von alleine terminieren, weil die PIPE endlich beendet wird.

Bugreport an Fedora ist raus, hat aber unverständlicherweise noch keine Reaktion hervorgerufen.

PHP 5.6/7.x Remote Execution Schwachstelle

Zeit zum Updaten: PHP eine Remote Code Execution Schwachstelle hat!

Risikostufe 4 – Remote Code Execution

Das BSI schreibt im Advisory:

„Ein entfernter, anonymer Angreifer kann mehrere Schwachstellen in PHP ausnutzen, um Informationen offenzulegen, einen Denial of Service herbeizuführen oder Code mit den Privilegien des angegriffenen Dienstes zur Ausführung zu bringen.“

betrifft:

Open Source PHP < 5.6.40
Ooen Source PHP < 7.1.26
Open Source PHP < 7.2.14
Open Source PHP < 7.3.1

Fedora – PHP 7 – ZipArchive

Wer mit Fedora 25+ die Meldung „PHP Fatal error: Uncaught Error: Class ‚ZipArchive‘ not found in /www/pages/….“ sieht, wenn er eine Webanwendung installiert, der braucht folgenden Fix:

libzip-1.1.3-1.fc25.x86_64
php-pecl-zip-1.13.5-1.fc25.x86_64

Dafür das in die Konsole eingeben:

dnf install php-pecl-zip

und dann ggf. noch einen Neustart seines Webservers, wenn man PHP als Modul einsetzt, was man nicht machen sollte.