• 谨慎实现 PendingIntents
    • 详细描述
    • 建议
    • 参考
    • CWE/OWASP

    谨慎实现 PendingIntents

    PendingIntent允许应用程序将Intent传递给第二个应用程序,然后可以执行该Intent,就像它是原始应用程序一样(即具有相同的权限)。

    详细描述

    使用PendingIntent,应用程序可以将Intent传递给第二个应用程序,然后可以执行该Intent,就像它是原始应用程序一样(即具有相同的权限)。 这允许其他应用程序回调到原始应用程序的私有组件。 外部应用程序,如果是恶意的,可能会尝试影响目标 和/或 数据/完整性。

    建议

    使用PendingIntents作为对私有BroadcastReceivers或broadcast activities的延迟回调,并在基本Intent中显式指定组件名称。

    参考

    • 示例代码 https://gist.github.com/scottyab/d5ab6a284622ebc46d5a

    CWE/OWASP

    • M8 - Security Decisions via Untrusted Inputs; M10 - Lack of Binary Protections
    • CWE-927: Use of Implicit Intent for Sensitive Communication