Luka w OpenTofu pozwala nadpisać dowolny plik w systemie (CVE-2026-74796)
2026-08-17W OpenTofu — otwartoźródłowym narzędziu do zarządzania infrastrukturą jako kodem, powstałym jako fork Terraforma — wykryto podatność typu symlink following path traversal. Wpis CVE opublikowano 16 sierpnia 2026, a odpowiadające mu ostrzeżenie GitHub (GHSA-wcmj-x466-56mm) było dostępne już od czerwca.
Których wersji dotyczy
Tu uwaga, bo obiegowa wersja „aktualizuj do 1.11.7″ jest niepełna:
- Podatne: wszystkie wersje poniżej 1.10.10 oraz od 1.11.0 do 1.11.6,
- Naprawione w: 1.10.10 lub 1.11.7 i nowszych.
Jeśli pracujesz na gałęzi 1.10.x, nie musisz migrować na 1.11 — wystarczy 1.10.10. Wersję sprawdzisz komendą tofu version.
Na czym polega problem
OpenTofu celowo dopuszcza, by wpisy w lokalnej pamięci podręcznej dostawców były dowiązaniami symbolicznymi — tak właśnie lokalny cache odwołuje się do wpisów w cache globalnym. Instalator nie miał jednak reguły nakazującej usunięcie istniejącego symlinka, jeśli wskazywał on na katalog niezgodny z oczekiwaną zawartością pakietu. Zamiast go usunąć, podążał za dowiązaniem i próbował zaktualizować zawartość katalogu docelowego.
Scenariusz ataku wygląda tak: repozytorium zawiera plik main.tf deklarujący jakiegoś dostawcę oraz spreparowany symlink. Ofiara klonuje repozytorium i uruchamia tofu init. OpenTofu podąża za dowiązaniem i zapisuje zawartość pakietu poza drzewem roboczym — na przykład nadpisując /etc/passwd albo /etc/sudoers, co otwiera drogę do eskalacji uprawnień.
Jak groźne to jest naprawdę
Warto zachować proporcje, bo oceny się różią w zależności od metryki:
- CVSS 4.0: 7.0 — wysoka,
- CVSS 3.1: 6.1 — średnia.
Wektor ataku mówi więcej niż sama liczba. Złożoność jest wysoka, a atak wymaga interakcji użytkownika — ktoś musi uruchomić tofu init w katalogu, którego zawartość kontroluje atakujący. To nie jest podatność zdalnie eksploatowalna bez udziału ofiary. Realne ryzyko dotyczy więc przede wszystkim pipeline’ów CI/CD przetwarzających repozytoria z zewnątrz oraz sytuacji, gdy ktoś uruchamia tofu init na sklonowanym, nieznanym kodzie.
Co zrobić
Podstawowe rozwiązanie: aktualizacja do 1.10.10 lub 1.11.7.
Jeśli nie możesz zaktualizować od razu:
- upewnij się, że katalog
.terraformnie istnieje przed pierwszym uruchomieniemtofu initw nowym katalogu roboczym, - sprawdź, czy w katalogu roboczym nie ma dowiązań wskazujących powyżej niego,
- uruchamiaj
tofu initwyłącznie w katalogach, których zawartości ufasz.
Do wykrywania podejrzanych dowiązań przydadzą się dwie komendy:
find . -type l -ls | grep -E '\.\./|^/'
find .terraform/providers -type l -ls
Pierwsza wypisze dowiązania wskazujące poza bieżący katalog, druga sprawdzi cache dostawców.
Przy okazji: druga podatność
Tego samego dnia opublikowano CVE-2026-74797 — podatność typu odmowa usługi w wersjach OpenTofu przed 1.11.4. Spreparowane archiwum .zip dostawcy lub modułu może doprowadzić do nadmiernego zużycia procesora podczas instalacji zależności. Ocena jest niska (2.3 w CVSS 4.0), ale aktualizacja rozwiązuje oba problemy naraz.
Źródła: GitHub Security Advisory (GHSA-wcmj-x466-56mm), VulnCheck, NVD, DailyCVE


