Zgłaszanie podatności w html2wp
Napisz na hello@html2wp.dev ze słowem SECURITY w temacie. Prosimy, nie zgłaszaj problemu z bezpieczeństwem w publicznym issue na GitHubie. Zgłoszenia tam są publiczne od chwili ich założenia, więc każdy użytkownik skilla byłby narażony na problem, zanim pojawiłaby się aktualizacja do zainstalowania.
Jak zgłosić
Dołącz wszystko, co trzeba, żeby odtworzyć problem: wersję albo commit, kroki i to, czego oczekiwano zamiast tego. Proof of concept (działająca demonstracja exploita) pomaga i jest mile widziany, ale nie jest potrzebny do zgłoszenia.
Endpoint /v1/report opisany w dokumentacji nie jest właściwym kanałem: to skrzynka na błędy generatora, którą człowiek czyta razem ze zwykłymi zgłoszeniami błędów.
Czego się spodziewać
- Potwierdzenia otrzymania zgłoszenia w ciągu 3 dni roboczych.
- Oceny problemu i orientacyjnego harmonogramu w ciągu 10 dni roboczych.
- Wzmianki w informacjach o wydaniu, jeśli jej chcesz, i żadnej, jeśli wolisz jej nie mieć.
Jeśli zapada cisza
Jesteśmy małą firmą, a nie przedsiębiorstwem z zespołem bezpieczeństwa. Jeśli zgłoszenie zostaje bez odpowiedzi po tych terminach, wyślij je jeszcze raz: przeoczyliśmy je, a nie ignorujemy.
Co jest w zakresie
- Skill i skrypty w
skills/html2wp/assets/scripts/, które działają na twoim własnym komputerze. - Usługa konwersji na
api.html2wp.dev. - Motyw WordPress generowany przez usługę, w tym dołączany do niego runtime PHP i importer treści.
Warto zgłaszać, nawet jeśli wyglądają na drobne: wszystko, co czyta albo wysyła pliki spoza katalogu wejściowego i miejsca roboczego, wszystko, co pozwala jednej konwersji zobaczyć inną, wszystko w wygenerowanym motywie, do czego da się dostać bez uwierzytelnienia, i wszystko, co sprawia, że zakończona konwersja wydaje motyw, którego powinna była odmówić.
Co jest poza zakresem
- Ustalenia dotyczące wersji WordPressa, PHP albo wtyczki, którą zdecydowano się uruchomić, gdy rozwiązaniem jest aktualizacja.
- Jednorazowy WordPress w Dockerze, którego
test-env.shużywa do lokalnej weryfikacji. Ma celowo stałe hasło administratora, nasłuchuje tylko na127.0.0.1i jest usuwany po każdym uruchomieniu. To środowisko testowe, a nie wdrożona strona. - Zgłoszenia, że kontrolę licencji da się usunąć z klienta. Tak, da się: klient należy do ciebie i możesz go edytować. Nic istotnego dla bezpieczeństwa nie zależy od tej kontroli. To usługa decyduje, do czego masz prawo, a płatne części to dokładnie te, których bez klucza odmawia wykonać.
- Wolumetryczne ataki odmowy usługi (zalewanie usługi żądaniami) na
api.html2wp.devi ustalenia, które sprowadzają się do puszczenia na nią skanera.
Testy na usłudze
Testuj na własnych konwersjach i własnym kluczu licencyjnym. Nie próbuj dostać się do zadań, artefaktów ani miejsc roboczych innego konta. Jeśli uważasz, że znajdujesz na to sposób, to jest dokładnie to zgłoszenie, które warto nam wysłać, a opis metody wystarczy. Nie musisz tego udowadniać na cudzych danych.
Co opuszcza twój komputer
Strona o danych i README samej wtyczki opisują to, bo polityka bezpieczeństwa to złe miejsce, żeby dowiadywać się o tym po raz pierwszy. W skrócie: zbudowana strona trafia do usługi i na niej działa konwersja. Werdykty bramek są zgłaszane osobno i zawierają tylko nazwy i liczby. Etap 1 odfiltrowuje z przesyłki pliki wyglądające na dane dostępowe i wypisuje każdy odrzucony. Jeśli znajdziesz coś, co przechodzi przez ten filtr, to jest w zakresie.