Thông tin này dành cho nhà phát triển có (các) ứng dụng dễ bị tấn công bởi File-based Cross-Site Scripting.
Chuyện gì sẽ xảy ra
Một hoặc nhiều ứng dụng của bạn chứa lỗ hổng File-based Cross-Site Scripting cần phải khắc phục. Vui lòng tham khảo thông báo trên Play Console của bạn.Sau thời hạn hiển thị trong Play Console, chúng tôi có thể xóa mọi ứng dụng có lỗ hổng bảo mật chưa được khắc phục khỏi Google Play.
Hành động cần thiết
- Đăng nhập vào Play Console và chuyển đến phần Cảnh báo để xem những ứng dụng bị ảnh hưởng và thời hạn giải quyết những vấn đề này.
- Cập nhật các ứng dụng bị ảnh hưởng và khắc phục lỗ hổng.
- Gửi phiên bản cập nhật của các ứng dụng bị ảnh hưởng.
Sau khi bạn gửi lại, chúng tôi sẽ xem xét lại ứng dụng của bạn. Quá trình này có thể mất vài giờ. Nếu ứng dụng vượt qua quy trình xem xét và được xuất bản thành công thì bạn không cần thực hiện thêm hành động nào. Nếu ứng dụng không vượt qua được quy trình xem xét thì phiên bản ứng dụng mới sẽ không được xuất bản và bạn sẽ nhận được thông báo qua email.
Thông tin chi tiết bổ sung
Các WebViews
có WebSettings
trong đó setAllowFileAccessFromFileURLs
hoặc setAllowUniversalAccessFromFileURLs
được đặt thành true không được tải bất kỳ nội dung web không đáng tin cậy nào. Điều này bao gồm cả nội dung từ các miền tin cậy được tải qua HTTP. Nội dung web hoặc mạng độc hại có thể chèn các tập lệnh để chuyển hướng WebView đến tệp cục bộ độc hại và khởi động tấn công Cross-Site Scripting nhằm truy cập vào các tệp cục bộ hay cookie riêng tư.
Bạn nên ngăn chặn lỗ hổng này theo một trong các cách sau:
- Đảm bảo rằng WebView không có cài đặt nguy hiểm
- Đảm bảo rằng WebView không thể tải tệp cục bộ hoặc thực thi JavaScript
- Đảm bảo rằng các WebView có cài đặt nguy hiểm không tải nội dung web không đáng tin cậy
1. Đảm bảo rằng WebView không có cài đặt nguy hiểm
Cập nhật android:targetSdkVersion
trong Manifest của bạn thành ít nhất 16 để sử dụng cài đặt mặc định an toàn cho WebView. Nếu không, hãy gọi setAllowFileAccessFromFileURLs(false)
và setAllowUniversalAccessFromFileURLs(false)
để đảm bảo rằng các WebView trong đó được an toàn.
2. Đảm bảo rằng WebView không thể tải tệp cục bộ hoặc thực thi JavaScript
Gọi setAllowFileAccess(false)
để chặn các WebView có tùy chọn cài đặt nguy hiểm tải tệp cục bộ hoặc gọi setJavaScriptEnabled(false)
để chặn các WebView có tùy chọn cài đặt nguy hiểm thực thi mã JavaScript.
3. Đảm bảo rằng các WebView có cài đặt nguy hiểm không tải nội dung web không đáng tin cậy
Nếu một WebView cần bật các tùy chọn cài đặt nguy hiểm này, bạn phải đảm bảo rằng WebView đó không tải nội dung web không đáng tin cậy. Điều này bao gồm cả nội dung web được tải qua HTTP. Bạn có thể thiết lập android:usesCleartextTraffic=false
hoặc thiết lập một Network Security Config không cho phép lưu lượng HTTP trong Manifest của mình. Ngoài ra, bạn có thể đảm bảo rằng mọi WebView có tùy chọn cài đặt nguy hiểm đều không tải bất kỳ URL nào bằng giao thức HTTP.
Bạn cũng nên đảm bảo rằng các WebView có tùy chọn cài đặt nguy hiểm không tải URL thu được từ các nguồn không đáng tin cậy.
Chúng tôi sẵn sàng trợ giúp
Nếu có câu hỏi kỹ thuật về lỗ hổng bảo mật, bạn có thể đăng lên Stack Overflow và sử dụng thẻ “android-security”. Để biết rõ các bước cần thực hiện nhằm giải quyết vấn đề này, bạn có thể liên hệ với nhóm hỗ trợ nhà phát triển của chúng tôi.