Aplikacja Jan w wersji 0.4.12 zawiera krytyczną podatność typu arbitrary file upload w interfejsie API /v1/app/writeFileSync, która umożliwia nieuwierzytelnionemu atakującemu zdalne wykonanie kodu. Ze względu na brak wymagań dotyczących uwierzytelnienia oraz niską złożoność ataku, podatność stanowi poważne zagrożenie dla każdego systemu z uruchomioną tą aplikacją.
▸ Pokaż oryginał (EN)
An arbitrary file upload vulnerability in the /v1/app/writeFileSync interface of Jan v0.4.12 allows attackers to execute arbitrary code via uploading a crafted file.
Podatność wynika z braku odpowiedniej walidacji przesyłanych plików w interfejsie /v1/app/writeFileSync. Atakujący może wysłać specjalnie spreparowany plik (crafted file) do tego endpointu bez konieczności posiadania jakichkolwiek uprawnień. Przesłany plik jest zapisywany na serwerze w sposób umożliwiający jego późniejsze wykonanie, co prowadzi do uruchomienia dowolnego kodu w kontekście aplikacji.
Atakujący może uzyskać pełną kontrolę nad systemem, na którym działa aplikacja Jan — w tym przejąć poufne dane, zmodyfikować pliki systemowe oraz trwale naruszyć integralność i dostępność systemu (RCE z pełnym trójkątem CIA: poufność, integralność, dostępność).
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Zaleca się natychmiastową aktualizację aplikacji Jan powyżej wersji 0.4.12 oraz — do czasu aktualizacji — ograniczenie dostępu sieciowego do interfejsu API aplikacji za pomocą firewall lub reguł sieciowych.
Jan w wersji 0.4.12
Podatność została udokumentowana przez badacza HackAllSec w repozytorium GitHub (https://github.com/HackAllSec/CVEs). Dostępny jest publiczny opis techniczny ataku.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HHomebrew Jan
APPHomebrew0.4.12