Remote code execution vulnerability in FASTJSON 1.2.80
Alibaba vừa đưa ra thông báo rủi ro Fastjson về lỗ hổng thực thi mã từ xa ảnh hưởng đến các phiên bản từ 1.2.80 trở xuống. Lỗ hổng cho phép bypass autoType closure restriction mặc định trong một vài trường hợp nhất định. Kẻ tấn công có thể khai thác lỗ hổng này để thực thi mã từ xa trên thiết bị mục tiêu.
Hiện tại chưa có dấu hiệu nào cho thấy đã có mã khai thác trên internet.
Fastjson là một thư viện Java được dùng để convert Java Objects sang kiểu JSON tương ứng và ngược lại, convert một JSON string sang Java object tương ứng. Fastjson có thể làm việc với các đối tượng Java bất kì bao gồm các đối tượng có sẵn mà bạn không có mã nguồn.
Vẫn chưa có CVE tương ứng cho Fastjson remote code execution ở thời điểm hiện tại.
Versions bị ảnh hưởng:
- Fastjson ≤ 1.2.80
Version không bị ảnh hưởng:
- Fastjson 1.2.83
Giải pháp khắc phục:
Khuyến nghị người dùng nâng cấp Fastjson lên latest version hiện tại 1.2.83.
https://github.com/alibaba/fastjson/releases/tag/1.2.83
Nếu tạm thời không thể nâng cấp version Fastjson, có thể dùng các phương pháp sau để phòng tránh lỗ hỏng:
Đảm bảo Fastjson đang ở version 1.2.68 hoặc cao hơn và disable hoàn toàn autotype bằng cách enable cấu hình safeMode. Có 3 cách để cấu hình SafeMode như sau:
1. Cấu hình trong code:
ParserConfig.getGlobalInstance().setSafeMode(true);
2. Use JVM startup parameters
- Dfastjson.parser.safeMode=true
3. Cấu hình trong properties file
fastjson.parser.safeMode=true
Tham khảo:
https://securityonline.info/fastjson-remote-code-execution-vulnerability/
https://github.com/alibaba/fastjson/wiki/security_update_20220523