Podatność w Eclipse Milo (wersje 0.6.0–1.1.4) pozwala atakującemu znajdującemu się na ścieżce sieciowej (on-path) na odzyskanie hasła ofiary poprzez atak padding oracle na token uwierzytelniający zaszyfrowany algorytmem Basic128Rsa15. Zagrożenie jest krytyczne, ponieważ nie wymaga żadnego uwierzytelnienia po stronie atakującego.
▸ Pokaż oryginał (EN)
In Eclipse Milo versions 0.6.0 through 1.1.4, username-token processing returns distinguishable errors for invalid RSA PKCS#1 v1.5 padding and other authentication failures, allowing an on-path attacker who captures a victim's `Basic128Rsa15`-encrypted username token to use repeated unauthenticated `ActivateSession` requests as a padding oracle, recover the victim's password, and authenticate with the recovered credentials.
Mechanizm przetwarzania tokenów użytkownika (username-token) w Eclipse Milo zwraca rozróżnialne komunikaty błędów dla nieprawidłowego wypełnienia RSA PKCS#1 v1.5 oraz dla innych rodzajów błędów uwierzytelnienia. Atakujący, który przechwycił zaszyfrowany token username ofiary (np. przez podsłuch ruchu sieciowego), może wielokrotnie wysyłać nieuwierzytelnione żądania ActivateSession z zmodyfikowanymi danymi szyfrowanymi. Analizując różnice w odpowiedziach serwera, atakujący stopniowo odtwarza oryginalną treść tokena — w tym hasło ofiary — metodą ataku padding oracle.
Atakujący może odzyskać hasło ofiary w postaci jawnej, a następnie uwierzytelnić się w systemie OPC-UA przy użyciu przejętych danych logowania, uzyskując pełny dostęp do zasobów dostępnych dla tego konta.
Należy zaktualizować Eclipse Milo do wersji wyższej niż 1.1.4, zawierającej poprawkę opisaną w commicie db59fae993a3a1bc66fffc8a2796d444b40285fb. Jako środek tymczasowy zaleca się unikanie trybu Basic128Rsa15 na rzecz bezpieczniejszych trybów bezpieczeństwa oraz ograniczenie dostępu sieciowego do endpointów OPC-UA wyłącznie do zaufanych hostów.
Eclipse Milo w wersjach od 0.6.0 do 1.1.4 włącznie, gdy używany jest tryb uwierzytelniania Basic128Rsa15 z tokenami użytkownika (username-token).
Atak wymaga pozycji on-path (atakujący musi być w stanie przechwycić ruch sieciowy między klientem a serwerem OPC-UA) oraz wymagana jest interakcja z serwerem poprzez wiele żądań ActivateSession — co odpowiada warunkowi AT:P (Attack Requirements: Present) w wektorze CVSS 4.0.
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XEclipse Milo
APPEclipse0.6.0 – 1.1.5 (bez)
Powiązane podatności
Eclipse Milo: utrata RoleMapper przy kopiowaniu konfiguracji OPC UA
Eclipse Milo: ominięcie autoryzacji przez batch w usłudze Call
Eclipse Milo: wyczerpanie pamięci przez niekompletne chunki OPC UA
In Eclipse Milo versions 1.0.0 through 1.1.4, monitored-item quota accounting is not exception-safe: if item c...
In Eclipse Milo versions 0.6.0 through 1.1.4, OPC UA server diagnostics nodes do not enforce access authorizat...