Biblioteka jmespath.rb (JMESPath for Ruby) w wersjach przed 1.6.1 używa metody JSON.load zamiast bezpieczniejszej JSON.parse do przetwarzania danych JSON. Może to prowadzić do niezamierzonej deserializacji obiektów Ruby i wykonania złośliwego kodu.
▸ Pokaż oryginał (EN)
jmespath.rb (aka JMESPath for Ruby) before 1.6.1 uses JSON.load in a situation where JSON.parse is preferable.
W Ruby metoda JSON.load, w odróżnieniu od JSON.parse, obsługuje rozszerzoną deserializację obiektów i może tworzyć dowolne obiekty Ruby z dostarczonych danych wejściowych. Atakujący, który jest w stanie dostarczyć spreparowany łańcuch JSON do aplikacji korzystającej z jmespath.rb, może wykorzystać to zachowanie do deserializacji niebezpiecznych obiektów. Prowadzi to potencjalnie do wykonania kodu po stronie serwera bez konieczności uwierzytelnienia.
Atakujący może uzyskać pełną kontrolę nad systemem poprzez zdalne wykonanie kodu (RCE), a także naruszyć poufność, integralność i dostępność danych aplikacji.
Należy zaktualizować jmespath.rb do wersji 1.6.1 lub nowszej. Użytkownicy dystrybucji Fedora powinni zastosować aktualizacje pakietów zgodnie z komunikatami opublikowanymi na listach Fedora (package-announce). Szczegóły poprawki dostępne są w repozytorium GitHub projektu (porównanie v1.6.0...v1.6.1).
jmespath.rb (JMESPath for Ruby) w wersjach przed 1.6.1; pakiety Fedora zawierające podatną wersję biblioteki
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HFedora Project Fedora
OSFedoraproject3536Jmespath
APPJmespath< 1.6.1
Powiązane podatności
PHP CGI argument injection – RCE na Windows przez mechanizm Best-Fit
Type Confusion w V8 (Google Chrome) — RCE przez spreparowaną stronę HTML
Type Confusion w silniku V8 Chrome — zdalne wykonanie kodu (RCE)
Use-after-free w Google Chrome Visuals umożliwiający ucieczkę z sandbox
Integer overflow w Skia w Google Chrome — sandbox escape