ข้อมูลนี้มีไว้สำหรับนักพัฒนาซอฟต์แวร์ที่มีแอปซึ่งใช้ Intent แบบไม่เจาะจงปลายทางเพื่อเข้าถึงคอมโพเนนต์ภายใน
สิ่งที่จะเกิดขึ้น
แอปของคุณอย่างน้อย 1 แอปมีปัญหา Intent ภายในแบบไม่เจาะจงปลายทาง การใช้ Intent แบบไม่เจาะจงปลายทางเพื่อเข้าถึงคอมโพเนนต์ภายในทำให้ผู้โจมตีสามารถดักฟังข้อความแล้วทิ้งข้อความ อ่านเนื้อหาในข้อความ หรือแม้กระทั่งแทนที่เนื้อหาในข้อความได้ คุณดูตำแหน่งที่มีการใช้ Intent แบบไม่เจาะจงปลายทางในแอปได้ที่การแจ้งเตือน Play Console สำหรับแอป
วิธีแก้ไขการแจ้งเตือน "Intent ภายในแบบไม่เจาะจงปลายทาง"
ตรวจสอบตำแหน่งที่มีการใช้ Intent แบบไม่เจาะจงปลายทางในแอป ตัวอย่างเช่น โค้ดต่อไปนี้ใช้ Intent แบบไม่เจาะจงปลายทางเพื่อเข้าถึงคอมโพเนนต์ภายใน
//แอปมีคอมโพเนนต์ที่ลงทะเบียน MY_CUSTOM_ACTION
//ที่ลงทะเบียนโดยแอปนี้เท่านั้น ซึ่งบ่งชี้ว่านักพัฒนาซอฟต์แวร์ตั้งใจให้นำส่ง Intent นี้
//ไปยังคอมโพเนนต์ภายในอย่างปลอดภัย
Intent intent = new Intent("MY_CUSTOM_ACTION");
//เพิ่มเนื้อหาที่อาจมีความละเอียดอ่อนลงใน "intent"
intent.putExtra("message", sensitive_content);
startActivity(intent);
Google ขอแนะนำให้นักพัฒนาซอฟต์แวร์ใช้ Intent แบบเจาะจงปลายทางเพื่อเข้าถึงคอมโพเนนต์ภายในด้วยวิธีต่อไปนี้
- ใช้ Intent.setComponent เพื่อตั้งค่าให้คอมโพเนนต์จัดการ Intent อย่างชัดแจ้ง
- ใช้ Intent.setClass หรือ Intent.setClassName เพื่อกำหนดคอมโพเนนต์เป้าหมายอย่างชัดแจ้ง
- ใช้ Intent.setPackage เพื่อจำกัดคอมโพเนนต์ที่ Intent นี้จะจับคู่ข้อมูลด้วย
ขั้นตอนถัดไป
- อัปเดตแอปโดยทำตามขั้นตอนที่ไฮไลต์อยู่ด้านบน
- ลงชื่อเข้าใช้ Play Console และส่งแอปเวอร์ชันอัปเดตแล้ว
ระหว่างนี้แอปใหม่หรืออัปเดตของแอปจะมีสถานะอยู่ระหว่างการตรวจสอบจนกว่าจะมีการตรวจสอบคำขอ คุณจะยังคงเห็นคำเตือนหากยังไม่ได้อัปเดตแอปให้ถูกต้อง
เราพร้อมช่วยเหลือคุณ
หากมีคำถามทางเทคนิคเกี่ยวกับช่องโหว่ คุณโพสต์ถามได้ที่ Stack Overflow โดยใช้แท็ก android-security หากต้องการคำชี้แจงเกี่ยวกับขั้นตอนที่ต้องดำเนินการเพื่อแก้ไขปัญหานี้ โปรดติดต่อทีมสนับสนุนของเรา