Zeichensatz-Server unter Unix-Systemen verwundbar

Zwei Schwachstellen im X Window System Font Server (XFS) von X.org ermöglichen am System angemeldeten Anwendern, ihre Zugriffsrechte zu erhöhen – unter Solaris soll das sogar aus der Ferne funktionieren.

In Pocket speichern vorlesen Druckansicht 88 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Daniel Bachfeld

Zwei Schwachstellen im X Window System Font Server (XFS) von X.org ermöglichen am System angemeldeten Anwendern, ihre Zugriffsrechte zu erhöhen – unter Solaris soll das sogar aus der Ferne funktionieren. Ein X-Font-Server kann lokal und im Netz laufen und nimmt X-Servern das Vorhalten eigener Zeichensätze sowie das Rendering ab. Ursprünglich wurde er benötigt, da etwa XFree selbst keine True-Type-Fonts unterstützte. Seit Version XFree 4.x ist diese Funktion in den X-Server eingebaut. Aus Performancegründen kann das Font-Rendering aber immer noch von einem separaten Prozess, dem Font-Server, durchgeführt werden. Im Netzwerk läuft XFS auf dem TCP-Port 7100.

Ursache der aktuellen Probleme sind ein Integer Overflow und ein Heap Overflow bei der Verarbeitung von QueryXBitmaps- und QueryXExtents-Anfragen, über die sich laut iDefense Code in den Speicher schleusen und mit den Rechten des XFS ausführen lässt. Betroffen ist der Font-Server 1.0.4 wie er in X11R7.2-1.0.4 von X.org enthalten ist. In der Version 1.0.5 ist der Fehler behoben, ein Patch ist ebenfalls verfügbar. In der Vergangenheit war bei Lücken in Produkten von X.org auch meist der XFree-Server betroffen, allerdings erwähnt iDefense diesen in seinem Fehlerbericht nicht explizit.

Laut iDefense horcht der XFS bei modernen Linux-Distributionen nur auf Unix-Sockets. Unter Solaris lauscht der standardmäßig aktivierte Dienst allerdings auf dem oben genannten Port. Somit lässt sich der Fehler dort auch über das Netzwerk ausnutzen, um etwa ein Remote-Shell zu öffnen – in der Regel aber nur im LAN. Als Workaround für Solaris schlägt iDefense vor, den Dienst über den Service Manager zu deaktivieren.

Siehe dazu auch:

(dab)