W Eclipse Milo (wersje 0.6.0–1.1.4) serwer OPC UA nie zwalnia buforów częściowych wiadomości po rozłączeniu klienta. Nieuwierzytelniony atakujący może wielokrotnie wysyłać niekompletne dane i rozłączać się, doprowadzając do wyczerpania puli pamięci bezpośredniej (direct memory) i potencjalnego zatrzymania serwera.
▸ Pokaż oryginał (EN)
In Eclipse Milo versions 0.6.0 through 1.1.4, UASC server transport handlers fail to release retained partial message chunks when a channel disconnects, allowing a remote unauthenticated client to exhaust pooled direct memory by repeatedly sending incomplete chunks and disconnecting, potentially terminating the server.
Handlery transportu UASC (UA Secure Conversation) w Eclipse Milo zatrzymują w pamięci chunki częściowych wiadomości przez cały czas trwania sesji, ale nie zwalniają ich przy zamknięciu kanału. Atakujący bez żadnego uwierzytelnienia nawiązuje połączenie, przesyła niekompletny fragment wiadomości i rozłącza się, pozostawiając bufor w puli pamięci bezpośredniej (pooled direct memory). Powtarzając ten schemat wielokrotnie, powoduje stopniowe wyczerpanie dostępnej pamięci bezpośredniej — jest to klasyczny memory leak (CWE-401). Efektem końcowym może być błąd alokacji i nieoczekiwane zakończenie procesu serwera.
Atakujący może spowodować odmowę usługi (DoS) poprzez wyczerpanie puli pamięci bezpośredniej, co prowadzi do potencjalnego zatrzymania serwera Eclipse Milo OPC UA bez konieczności posiadania jakichkolwiek uprawnień.
Należy zaktualizować Eclipse Milo do wersji nowszej niż 1.1.4, w której wprowadzono poprawkę zwalniającą bufor przy rozłączeniu kanału (commit 459715793ec54b0f33367a14f94264500a0d872b). Do czasu wdrożenia patcha zaleca się ograniczenie dostępu sieciowego do portów OPC UA wyłącznie do zaufanych klientów przy użyciu firewalla.
Eclipse Milo w wersjach od 0.6.0 do 1.1.4 włącznie.
Podatność dotyczy infrastruktury przemysłowej i IIoT korzystającej z protokołu OPC UA. Fakt, że exploit nie wymaga uwierzytelnienia (PR:N, UI:N) i jest dostępny publicznie commit z poprawką, zwiększa ryzyko jej wykorzystania.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/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: padding oracle w uwierzytelnianiu OPC-UA umożliwia odzyskanie hasła
Eclipse Milo: utrata RoleMapper przy kopiowaniu konfiguracji OPC UA
Eclipse Milo: ominięcie autoryzacji przez batch w usłudze Call
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...