iRODS w wersjach przed 4.3.2 zawiera funkcję msiSendMail, która w sposób problematyczny zależy od zewnętrznego programu mail w systemie operacyjnym. Podatność sklasyfikowana jako CWE-426 (Untrusted Search Path) pozwala potencjalnie na wykonanie niezaufanego kodu poprzez manipulację ścieżką do wywoływanego pliku binarnego.
▸ Pokaż oryginał (EN)
iRODS before 4.3.2 provides an msiSendMail function with a problematic dependency on the mail binary, such as in the mailMS.cpp#L94-L106 reference.
Funkcja msiSendMail zaimplementowana w pliku mailMS.cpp wywołuje zewnętrzny program mail bez odpowiedniej weryfikacji jego ścieżki lub tożsamości. Zgodnie z CWE-426, atakujący może podstawić złośliwą binarną pod nazwę mail poprzez manipulację zmienną środowiskową PATH lub dostarczenie odpowiedniego pliku w przeszukiwanej lokalizacji. Ponieważ atak jest możliwy zdalnie bez uwierzytelnienia (AV:N, PR:N, UI:N), może być wykorzystany do eskalacji uprawnień lub wykonania dowolnego kodu w kontekście procesu iRODS.
Atakujący może uzyskać pełną kontrolę nad serwerem iRODS, co obejmuje poufność, integralność oraz dostępność systemu — wszystkie trzy aspekty ocenione jako HIGH w wektorze CVSS.
Należy zaktualizować iRODS do wersji 4.3.2 lub nowszej, w której problem został rozwiązany zgodnie z informacją o wydaniu opublikowaną przez producenta (https://irods.org/2024/05/irods-4-3-2-is-released/).
iRODS (Integrated Rule-Oriented Data System) w wersjach przed 4.3.2
Szczegóły techniczne podatności są dostępne w kodzie źródłowym repozytorium GitHub iRODS — plik server/re/src/mailMS.cpp, linie 94–106. Problem był śledzony w zgłoszeniach GitHub #7562 oraz #7651.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HIrods
APPIrods< 4.3.2
Powiązane podatności
iRODS igetwild — command injection przez niezaufane ścieżki wirtualne
irodsServerMonPerf in iRODS before 4.3.2 attempts to proceed with use of a path even if it is not a directory.
Multiple unspecified vulnerabilities in iRODS before 3.1 have unknown impact and attack vectors.