CVE-2026-96795
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 21 - wyżej niż 21% wszystkich znanych CVE
Streszczenie
Horilla to oprogramowanie HR i CRM. Przed wersją 2.0.0 funkcja HorillaListView.export_data w horilla_views/generic/cbv/views.py akceptuje parametr columns od uwierzytelnionego użytkownika, interpoluje go do dynamicznego kodu Pythona i przekazuje do exec(). Specjalnie spreparowany ciąg znaków może wstrzyknąć składnię Pythona do domyślnego argumentu, co pozwala na wykonanie dowolnych poleceń systemu operacyjnego z uprawnieniami procesu aplikacji, w tym root w oficjalnym obrazie Docker. Problem naprawiono w wersji 2.0.0.
Ocena ryzyka
Ryzyko zdalnego wykonania kodu z uprawnieniami aplikacji, co może prowadzić do pełnego przejęcia systemu, zwłaszcza w środowisku Docker z uprawnieniami root.
Rekomendacja
Zaleca się natychmiastową aktualizację Horilla do wersji 2.0.0 lub nowszej oraz ograniczenie dostępu do aplikacji tylko dla zaufanych użytkowników.
Inne podatności w Horilla
Zobacz wszystkie- CVE-2026-40867Wysokie
Horilla w wersji 1.5.0 ma podatność związaną z uszkodzoną kontrolą dostępu w przeglądarce załączników helpdesk, która pozwala każdemu uwierzytelnionemu użytkownikowi na przeglądanie załączników z innych zgłoszeń poprzez zmianę ID załącznika. Może to ujawnić wrażliwe pliki wsparcia i dokumenty wewnętrzne.
- CVE-2026-40866Wysokie
Horilla w wersji 1.5.0 ma podatność IDOR w punkcie końcowym przesyłania dokumentów pracownika, która pozwala każdemu uwierzytelnionemu użytkownikowi na nadpisanie, zastąpienie lub uszkodzenie dokumentu innego pracownika poprzez zmianę ID dokumentu w żądaniu. Umożliwia to nieautoryzowaną modyfikację danych HR.
- CVE-2026-40865Wysokie
Horilla w wersji 1.5.0 ma podatność IDOR w przeglądarce dokumentów pracownika, która pozwala każdemu uwierzytelnionemu użytkownikowi na dostęp do dokumentów innych pracowników poprzez zmianę ID dokumentu w żądaniu. Ujawnia to wrażliwe pliki HR, takie jak dokumenty tożsamości, umowy, certyfikaty i inne prywatne dane.
- CVE-2026-24038Wysokie
Horilla w wersji 1.4.0 zawiera podatność w logice obsługi OTP, gdzie błędne porównanie może zostać ominięte. Gdy OTP wygaśnie, serwer zwraca None, a jeśli atakujący pominie pole otp w żądaniu POST, porównanie user_otp == otp przechodzi, co pozwala na całkowite ominięcie uwierzytelniania dwuskładnikowego bez podania ważnego OTP.
- CVE-2026-24010Wysokie
Horilla przed wersją 1.5.0 zawiera krytyczną podatność związaną z przesyłaniem plików, która przy wykorzystaniu socjotechniki pozwala uwierzytelnionym użytkownikom na przeprowadzanie ataków phishingowych. Poprzez przesłanie złośliwego pliku HTML udającego zdjęcie profilowe, atakujący może stworzyć przekonującą kopię strony logowania i kraść poświadczenia użytkowników.
- CVE-2026-86066Średnie
Horilla przed wersją 2.0.0 zawiera podatność CSRF w punkcie końcowym /attendance/approve-validate-attendance-request/, gdzie zmiany stanu wniosku są wykonywane przez żądanie GET przed zapisem, przez co Django nie wymaga walidacji CSRF. Nieuwierzytelniony atakujący może nakłonić zalogowanego menedżera do wysłania żądania, które po cichu zatwierdza obecność z uprawnieniami ofiary i przypisuje jej zatwierdzenie w dzienniku audytu.
- CVE-2026-71483Wysokie
Horilla to oprogramowanie HR i CRM. Przed wersją 1.6.0 parametr search w /employee/employee-filter-view jest odzwierciedlany przez jQuery .html() w employee/templates/employee_nav.html bez neutralizacji HTML. Zewnętrzny atakujący może stworzyć i dostarczyć link, który powoduje wykonanie JavaScript, gdy uwierzytelniony pracownik lub administrator dotrze do filtra pracowników, umożliwiając dostęp do danych sesji widocznych w przeglądarce i działań z uprawnieniami ofiary. Problem naprawiono w wersji 1.6.0.
- CVE-2026-63432Średnie
Horilla od wersji 1.0.0 do 1.6.0 i 2.0.0 zawiera podatność w handlerach get_mail_preview w recruitment/views/actions.py i employee/not_in_out_dashboard.py, które renderują kontrolowane przez użytkownika treści z pełnym obiektem żądania w kontekście szablonu Django. Uwierzytelniony użytkownik z ważnym tokenem CSRF może użyć trawersji atrybutów szablonu, aby odczytać request.user.password, request.META i powiązane atrybuty, ujawniając hashe haseł, dane osobowe i metadane żądań serwera.
- CVE-2026-63431Średnie
Horilla w wersji 1.5.0-85 i wcześniejszych nie autoryzuje spójnie dostępu w payroll/views/component_views.py w funkcjach allowances_deductions_tab, view_single_allowance i view_single_deduction przed załadowaniem rekordów wybranych przez emp_id, allowance_id lub deduction_id. Uwierzytelniony pracownik może podmienić te identyfikatory, aby odczytać strukturę wynagrodzeń, kwoty dodatków i potrąceń, wypłaty pożyczek osobistych i harmonogramy spłat innego pracownika bez posiadania rekordu lub uprawnień do przeglądania płac.
- CVE-2025-48868Wysokie
Horilla to darmowy system HRMS. W wersji 1.3.0 występuje podatność zdalnego wykonania kodu (RCE) wynikająca z niebezpiecznego użycia funkcji eval() na parametrze zapytania kontrolowanym przez użytkownika w widoku project_bulk_archive. Uprzywilejowani użytkownicy (np. administratorzy) mogą wykonać dowolne polecenia systemowe na serwerze. Podatność została naprawiona w wersji 1.3.1.
Oryginalny opis (angielski, źródło NVD)
Horilla is an HR and CRM software. Prior to 2.0.0, HorillaListView.export_data in horilla_views/generic/cbv/views.py accepts an authenticated user's columns POST parameter, takes field_tuple[1], interpolates it into dynamic_fn_str as Python source, and passes the generated function definition to exec(). A crafted string that remains valid under ast.literal_eval can inject Python syntax into a default argument evaluated during function definition, allowing arbitrary operating-system commands to execute with the application process privileges, including root privileges in the shipped Docker image. This issue is fixed in version 2.0.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

