Home » Vulnerabilities Knowledge Base » Unnecessary Permissions Declared in AndroidManifest.xml
The AndroidManifest.xml file defines the permissions an app requests from the user during install (for pre-Android 6.0) or at runtime (for Android 6.0+). If your app declares permissions it doesn’t actually use, you are:
These are known as unnecessary or overprivileged permissions.

If your app doesn’t use SMS or camera functionality, this is an unnecessary risk.
Requesting sensitive permissions like READ_CONTACTS, READ_SMS, or ACCESS_FINE_LOCATION without justification can alarm users — and potentially violate privacy regulations.
If an attacker finds a way to exploit unused but declared permissions (via intent hijacking or component exposure), your app becomes a target even for features you don’t use.
Check AndroidManifest.xml for all <uses-permission> declarations.
Delete anything unnecessary.
Sometimes, permissions were added for legacy or unused libraries. Refactor or remove:
For Android 6.0 (API 23) and above, request permissions only when needed, not at install.
“Just in case” permissions are a liability. Requesting only what you use is not just good practice it’s essential for secure, privacy-respecting Android development. Clean up your AndroidManifest.xml today to minimize risk and improve user trust.
Content Sniffing
Certain browsers, try to determine the content type and encoding of the response even when these properties are defined correctly...
Content Sniffing
Certain browsers, try to determine the content type and encoding of the response even when these properties are defined correctly...
Content Sniffing
Certain browsers, try to determine the content type and encoding of the response even when these properties are defined correctly...
Content Sniffing
Certain browsers, try to determine the content type and encoding of the response even when these properties are defined correctly...