MuntashirAkon / MuntashirAkon/AppManager

[Review] PKP usage in App Manager

Open
#1,171 0 comments 0 reactions 0 assignees View on GitHub
Priority: 3 Security Severity: 1
Dominant language
Java
Stars
9k
Forks
518
PR merge metrics
No merged PRs in 30d

Description

Recently, App Manager has added support for public key pinning (PKP) via Android-native [`networkSecurityConfig`](https://developer.android.com/training/articles/security-config), but with the following limitations:
1. No support for older devices (API < 24) which could be added via [TrustKit](https://github.com/datatheorem/TrustKit-Android)
2. Localhost is exempted from any restrictions. It's understandable that this is done to allow connecting to `adbd`, but this creates more attack surfaces even if they may only be restricted to localhost. Moreover, when the mode of operation is set to **auto** (which is the default) or any of the ADB ones, (in Android 9+) App Manager scans for potential ADB ports in the localhost via mDNS and attempts to connect to the first found port address automatically. This port address should not be trusted blindly as during the connection, it is set to _trust_ any certificate. The feature should be reviewed properly to ensure that it only trusts the configured certificates.

These issues prevent App Manager from adding preview features such as audio/video player, image/font viewer, etc. which makes use of frequently exploited drivers and libraries.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.