ช่องโหว่ Server-Side Request Forgery (SSRF) — CVE-2026-85743 (CVSS 8.2)
📋 สรุปช่องโหว่
ช่องโหว่ SSRF มี CVSS Score 8.2 ระดับ "สูง" ทำให้ผู้โจมตีบังคับให้เซิร์ฟเวอร์ส่ง HTTP request ไปยัง destination ที่ผู้โจมตีกำหนด รวมถึง internal services ที่ปกติไม่เปิดให้เข้าถึงจากภายนอก
ช่องโหว่นี้อันตรายเป็นพิเศษในสภาพแวดล้อม cloud เพราะสามารถใช้เข้าถึง metadata service (169.254.169.254) เพื่อขโมย cloud credentials ได้
💥 ผลกระทบที่อาจเกิดขึ้น
ผลกระทบจาก SSRF:
• เข้าถึง Internal Services: localhost:6379 (Redis), localhost:3306 (MySQL), internal APIs
• ขโมย Cloud Credentials: AWS/GCP/Azure metadata endpoint ให้ access key
• Port Scanning: ใช้เซิร์ฟเวอร์ scan network ภายใน
• Bypass Firewall: เข้าถึง service ที่ firewall block ไม่ให้เข้าจากภายนอก
• Read Local Files: ผ่าน file:// protocol อาจอ่านไฟล์บนระบบได้
🖥️ ซอฟต์แวร์และระบบที่ได้รับผลกระทบ
ตรวจสอบที่ https://nvd.nist.gov/vuln/detail/CVE-2026-85743
🔧 แนวทางการแก้ไขและป้องกัน
- ขั้นตอนแก้ไข:
- 1. อัพเดตทันที: ติดตั้งเวอร์ชันที่แก้ไขแล้ว
- 2. Block Metadata Endpoint: ตั้ง firewall rule block 169.254.169.254 จาก web process
- 3. Allowlist URLs: จำกัด outbound request เฉพาะ domain ที่อนุญาต
- 4. ตรวจสอบ Logs: ดู outbound request ที่น่าสงสัย
- 5. Network Segmentation: แยก web server ออกจาก internal network
📄 รายละเอียดต้นฉบับ (ภาษาอังกฤษ)
FreeScout is a self-hosted help desk and shared mailbox. Prior to 1.8.230, multiple outbound paths in Helper::downloadRemoteFile(), Helper::checkPort(), Helper::sanitizeRemoteUrl(), MailboxesController.php, and ModulesController.php do not consistently enforce a sink-level restricted-host policy. An authenticated administrator, or another authenticated user permitted to change mailbox connection settings or trigger module update or installation paths, can supply attacker-controlled URLs or hosts. The independent download and port-test sinks can reach encoded or otherwise uncovered loopback and internal addresses. The redirect-validation bypass additionally requires a configured whitelist that permits the original and final hosts while a restricted internal host appears only as an intermediate redirect hop. No unauthenticated SSRF path is established. The server can consequently contact loopback and internal services, provide a blind internal port oracle, and retrieve internal HTTP responses into application-controlled download sinks. This issue is fixed in version 1.8.230.