Was bedeutet die folgende Kernelmeldung?

12

Folgendes wird angezeigt: / var / log / messages, was bedeutet das?

  Feb 19 22:51:20  kernel: [  187.819487] non-matching-uid symlink following attempted in sticky world-writable directory by sh (fsuid 1001 != 0)

Es passiert, wenn ein Cron-Job ausgeführt werden soll.

Gänseblümchen
quelle

Antworten:

9

Ein privilegierter Prozess kann dazu verleitet werden, eine wichtige Datei (/ etc / passwd, / etc / shadow usw.) zu überschreiben, indem auf einen Symlink verwiesen wird. Wenn Sie beispielsweise wissen, dass root ein Programm ausführt, das eine Datei in / tmp erstellt, können Sie eine Falle stellen, indem Sie den Dateinamen erraten (normalerweise / tmp / fooXXX, wobei foo der Programmname und XXX der Name ist Prozess-ID) und füllen Sie / tmp mit möglichen Kandidaten, die auf / etc / shadow zeigen. Später öffnet root die Datei in / tmp, schneidet ab und überschreibt / etc / shadow und plötzlich kann sich niemand mehr am System anmelden. Es gibt einen verwandten Angriff, der eine Racebedingung zwischen der Überprüfung auf das Vorhandensein einer temporären Datei und der Erstellung der Datei ausnutzt.

Es gibt verschiedene Möglichkeiten, dieses Problem zu vermeiden, einschließlich der sorgfältigen Verwendung von mktemp () und mkstemp (). Dieses Risiko ist jedoch nicht allen Programmierern und Benutzern bekannt. Als Ergebnis wurde kürzlich ein Linux-Kernel-Patch vorgeschlagen, der anscheinend auf den von Ihnen verwendeten Kernel angewendet wurde. Der Patch verhindert, dass in einer der häufigsten Situationen, in denen der schädliche Link möglicherweise erstellt wurde, folgende Symlinks verwendet werden: Ein Verzeichnis mit Schreibzugriff auf der ganzen Welt, in dem das Sticky-Bit festgelegt ist, wie / tmp normalerweise auf Unix-Systemen konfiguriert ist. Anstatt dem Symlink zu folgen, schlägt der versuchte Systemaufruf mit EACCES fehl und der Kernel protokolliert die Nachricht, die Sie gesehen haben.

Einige verwandte Chatter auf der Linux-Kernel-Mailingliste.

Kyle Jones
quelle