通过 ResultReceiver 泄露敏感信息¶
ID: java/android/sensitive-result-receiver
Kind: path-problem
Security severity: 8.2
Severity: error
Precision: medium
Tags:
- security
- external/cwe/cwe-927
Query suites:
- java-security-extended.qls
- java-security-and-quality.qls
如果 ResultReceiver
是从不受信任的来源获得的,例如导出的组件接收到的 Intent
,请勿向其发送敏感数据。否则,信息可能会泄露给恶意应用程序。
建议¶
不要向不受信任的 ResultReceiver
发送敏感数据。
示例¶
在以下(错误)示例中,敏感数据被发送到不受信任的 ResultReceiver
。
// BAD: Sensitive data is sent to an untrusted result receiver
void bad(String password) {
Intent intent = getIntent();
ResultReceiver rec = intent.getParcelableExtra("Receiver");
Bundle b = new Bundle();
b.putCharSequence("pass", password);
rec.send(0, b);
}
参考¶
常见弱点枚举:CWE-927。