Pojawia się następujące polecenie / var / log / messages, co to znaczy?
Feb 19 22:51:20 kernel: [ 187.819487] non-matching-uid symlink following attempted in sticky world-writable directory by sh (fsuid 1001 != 0)
Zdarza się to, gdy zadanie cron miało być uruchomione.
filesystems
cron
stokrotka
źródło
źródło
Odpowiedzi:
Uprzywilejowany proces można oszukać w celu zastąpienia ważnego pliku (/ etc / passwd, / etc / shadow itp.) Poprzez wskazanie na niego dowiązania symbolicznego. Na przykład, jeśli wiesz, że root uruchomi program, który tworzy plik w / tmp, możesz zastawić pułapkę, zgadując, jaka będzie nazwa pliku (zazwyczaj / tmp / fooXXX, gdzie foo to nazwa programu, a XXX to ID procesu) i wypełnij / tmp potencjalnymi kandydatami wskazującymi na / etc / shadow. Później root otwiera plik w / tmp, obcina i zastępuje / etc / shadow i nagle nikt już nie może się zalogować do systemu. Istnieje pokrewny atak, który wykorzystuje warunek wyścigu między sprawdzeniem istnienia pliku tymczasowego a utworzeniem pliku.
Istnieją sposoby na uniknięcie tego problemu, w tym ostrożne korzystanie z mktemp () i mkstemp (), ale nie wszyscy programiści i użytkownicy będą świadomi tego ryzyka. W rezultacie niedawno zaproponowano łatkę na jądro Linuksa i najwyraźniej została ona zastosowana do używanego jądra. Łatka uniemożliwia następujące dowiązania symboliczne w jednej z typowych sytuacji, w których złośliwy odsyłacz mógł zostać zasadzony: katalog do zapisu na świecie z lepkim zestawem bitów, taki sposób, w jaki / tmp jest zwykle konfigurowany w systemach uniksowych. Zamiast podążać za dowiązaniem symbolicznym, próba wywołania systemowego kończy się niepowodzeniem z EACCES, a jądro rejestruje komunikat, który zobaczyłeś.
Niektóre powiązane paplaniny na liście mailingowej jądra Linux.
źródło