ช่องโหว่ในเว็บอินเตอร์เฟสของอุปกรณ์เครือข่าย Juniper ที่มาพร้อมกับ JunOS

มีการระบุช่องโหว่หลายจุดในเว็บอินเตอร์เฟส J-Web ซึ่งใช้ในอุปกรณ์เครือข่าย Juniper ที่ติดตั้งระบบปฏิบัติการ JunOS ซึ่งเป็นช่องโหว่ที่อันตรายที่สุด (CVE-2022-22241) ช่วยให้คุณสามารถเรียกใช้รหัสของคุณจากระยะไกลในระบบโดยไม่ต้อง การรับรองความถูกต้องโดยส่งคำขอ HTTP ที่ออกแบบมาเป็นพิเศษ ผู้ใช้อุปกรณ์ Juniper ควรติดตั้งการอัปเดตเฟิร์มแวร์ และหากไม่สามารถทำได้ ตรวจสอบให้แน่ใจว่าการเข้าถึงเว็บอินเทอร์เฟซถูกบล็อกจากเครือข่ายภายนอกและจำกัดเฉพาะโฮสต์ที่เชื่อถือได้เท่านั้น

สาระสำคัญของช่องโหว่คือเส้นทางไฟล์ที่ผู้ใช้ส่งผ่านนั้นได้รับการประมวลผลในสคริปต์ /jsdm/ajax/logging_browse.php โดยไม่กรองคำนำหน้าด้วยประเภทเนื้อหาที่ขั้นตอนก่อนการตรวจสอบความถูกต้อง ผู้โจมตีสามารถถ่ายโอนไฟล์ phar ที่เป็นอันตรายภายใต้หน้ากากของรูปภาพ และดำเนินการตามโค้ด PHP ที่อยู่ในไฟล์เก็บถาวร phar โดยใช้วิธีการโจมตีแบบ “Phar deserialization” (ตัวอย่างเช่น โดยการระบุ “filepath=phar:/path/pharfile .jpg” ในคำขอ)

ปัญหาคือเมื่อตรวจสอบไฟล์ที่อัปโหลดด้วยฟังก์ชัน is_dir() ของ PHP ฟังก์ชันนี้จะยกเลิกการซีเรียลข้อมูลเมตาจาก Phar Archive (PHP Archive) โดยอัตโนมัติเมื่อประมวลผลเส้นทางที่ขึ้นต้นด้วย "phar://" ผลที่คล้ายกันนี้สังเกตได้เมื่อประมวลผลพาธไฟล์ที่ผู้ใช้ระบุในฟังก์ชัน file_get_contents(), fopen(), file(), file_exists(), md5_file(), filemtime() และ filesize()

การโจมตีมีความซับซ้อนเนื่องจากนอกเหนือจากการเริ่มต้นการดำเนินการของไฟล์เก็บถาวร phar แล้ว ผู้โจมตีต้องหาทางดาวน์โหลดไปยังอุปกรณ์ (โดยการเข้าถึง /jsdm/ajax/logging_browse.php คุณสามารถระบุเส้นทางสำหรับ เรียกใช้งานไฟล์ที่มีอยู่) จากสถานการณ์ที่เป็นไปได้สำหรับไฟล์ที่เข้าสู่อุปกรณ์ มีการกล่าวถึงการโหลดไฟล์ phar ภายใต้หน้ากากของรูปภาพผ่านบริการถ่ายโอนรูปภาพและการแทนที่ไฟล์ในแคชเนื้อหาเว็บ

ช่องโหว่อื่นๆ:

  • CVE-2022-22242 - การแทนที่พารามิเตอร์ภายนอกที่ไม่มีการกรองในเอาต์พุตของสคริปต์ error.php ช่วยให้สามารถเขียนสคริปต์ข้ามไซต์และเรียกใช้โค้ด JavaScript ตามอำเภอใจในเบราว์เซอร์ของผู้ใช้เมื่อคลิกลิงก์ (เช่น "https:// JUNOS_IP/error.php?SERVER_NAME= alert(0) ". ช่องโหว่นี้สามารถใช้เพื่อสกัดกั้นพารามิเตอร์เซสชันของผู้ดูแลระบบ หากผู้โจมตีประสบความสำเร็จในการทำให้ผู้ดูแลระบบเปิดลิงก์ที่สร้างขึ้นเป็นพิเศษ
  • CVE-2022-22243, СVE-2022-22244 - การแทนที่นิพจน์ XPATH ผ่านสคริปต์ jsdm/ajax/wizards/setup/setup.php และ /modules/monitor/interfaces/interface.php อนุญาตให้ผู้ใช้ที่ตรวจสอบสิทธิ์ที่ไม่มีสิทธิ์ควบคุมเซสชันของผู้ดูแลระบบ
  • CVE-2022-22245 - ความล้มเหลวในการล้างข้อมูลลำดับ ".." อย่างถูกต้องในเส้นทางที่ประมวลผลในสคริปต์ Upload.php ทำให้ผู้ใช้ที่รับรองความถูกต้องสามารถอัปโหลดไฟล์ PHP ไปยังไดเร็กทอรีที่อนุญาตให้เรียกใช้สคริปต์ PHP (ตัวอย่างเช่น โดย ผ่านเส้นทาง "fileName=\. .\..\..\..\www\dir\new\shell.php")
  • CVE-2022-22246 - ความสามารถในการเรียกใช้ไฟล์ PHP ในเครื่องโดยพลการผ่านการจัดการโดยผู้ใช้ที่รับรองความถูกต้องของสคริปต์ jrest.php ซึ่งใช้พารามิเตอร์ภายนอกเพื่อสร้างชื่อไฟล์ที่โหลดโดยฟังก์ชัน "require_once ()" ( ตัวอย่างเช่น "/jrest.php? payload =alol/lol/any\..\..\..\..\any\file")

ที่มา: opennet.ru

เพิ่มความคิดเห็น