CVE-2020-29007 – zdalne wykonanie kodu w Mediawiki Score

Score to rozszerzenie do Mediawiki generujące notację muzyczną na podstawie dostarczonego przez użytkowników opisu w formacie Lilypond lub ABC. Podczas testów wykryliśmy możliwość zdalnego wykonania kodu poprzez dołączenie do plików Lilypond kodu w języku Scheme.

  • CVEID: CVE-2020-29007
  • Podatny produkt i jego wersja: Mediawiki Score (wszystkie wersje do 0.3.0 włącznie)
  • Typ podatności: CWE-96: Niewłaściwa neutralizacja dyrektyw w statycznym kodzie (‘Wstrzyknięcie statycznego kodu’)

Podsumowanie

Wszystkie wersje Score (do wersji 0.3.0 włącznie) pozwalają na wykonanie dowolnego kontrolowanego przez użytkownika kodu w kontekście procesu webservera.

Opis

Rozszerzenie Score tworzy notację muzyczną przekazując kontrolowany przez użytkownika kod Lilypond lub ABC do programu GNU Lilypond. Ponieważ program wykonywany jest bez użycia opcji -dsafe, wykona on dowolny kod Guile Scheme zawarty w kodzie Lilypond, włączając w to funkcje wchodzące w interakcje z powłoką systemu operacyjnego.

Żeby być w stanie wykorzystać podatność, użytkownik musi mieć uprawnienia do edycji przynajmniej jednego artykułu na atakowanej wiki. W większości konfiguracji, takie uprawnienia posiada nieuwierzytelniony atakujący.

Reprodukcja

1. Rozpocznij edycję dowolnego artykułu na wiki.

2. Zastąp treść artykułu następującym kodem:

{{Image frame|content=\new Staff <<{g^#
(number->string(system "/usr/bin/false"))
}>>
}}

3. Wciśnij przycisk ‘show preview’

4. Jeżeli w podglądzie znajdzie się taki obrazek, wiki jest podatna:

screenshot CVE

Rozwiązanie

Wyłącz rozszerzenie Score.

Dodaj komentarz

0 komentarzy

Wyślij komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *