Skip to content
Back to Blog
·11 min read·news

Android PackageManager Flaw: Why Your App Permissions Aren't Enough

CVE-2023-21293 exposes a critical side-channel vulnerability in Android's PackageManager. We break down the threat, its impact on Indian businesses, and how ...

BR

Bachao.AI Research Team

Cybersecurity Research

Source: NIST NVD

See If You're Exposed
Android PackageManager Flaw: Why Your App Permissions Aren't Enough

Business impact of this development

Emerging threats move fast. Indian SMBs are primary targets because they're under-defended. Here's what you need to know and do now.

In my years building enterprise systems for Fortune 500 companies, I learned that the most dangerous vulnerabilities aren't always the flashiest ones—they're the quiet ones. The ones that let attackers bypass security controls without triggering alarms. CVE-2023-21293 is exactly that kind of threat.

Recently, security researchers identified a critical flaw in Android's PackageManagerNative component that allows attackers to determine whether an app is installed on a device without requiring query permissions. This isn't a theoretical vulnerability—it's a practical side-channel attack that can lead to local privilege escalation, and it affects millions of Android devices worldwide.

Let me break down what this means for your business, how it works technically, and most importantly—how to protect yourself.

What Happened

Android's PackageManager is the system service responsible for managing installed applications. Developers use it to query which apps are installed, retrieve app metadata, and manage permissions. To prevent privacy abuse, Google introduced query permissions in Android 11 (API level 30)—requiring apps to explicitly declare which other apps they want to query.

However, researchers discovered that PackageManagerNative—the native-layer implementation beneath the Java API—contains a side-channel information disclosure vulnerability. An attacker can exploit timing differences, error messages, or system behavior to infer whether a specific app is installed, completely bypassing the query permission check.

Here's the critical part: no additional execution privileges are required, and user interaction is not needed. A malicious app running on the device can silently enumerate installed applications and use that information to:

    1. Detect security apps (antivirus, MDM solutions) and disable their functionality
    2. Identify banking apps to target with phishing overlays
    3. Discover enterprise apps to launch targeted privilege escalation attacks
    4. Build a profile of device configuration for lateral movement
Originally reported by NIST NVD (CVE-2023-21293), this vulnerability affects Android devices across multiple API levels and manufacturers.
1Privilege escalation vector requiring zero user interaction
3+Android API levels affected (30 and above)
100M+Estimated vulnerable Android devices globally
6 hoursCERT-In's mandatory breach notification window (applies to Indian businesses)

Why This Matters for Indian Businesses

As someone who's reviewed hundreds of Indian SMB security postures, I can tell you: most businesses don't think of Android vulnerabilities as "their problem." They assume Android security is Google's responsibility. But that assumption is costing companies real money.

Here's why this matters specifically in India:

DPDP Act Compliance Risk

Under the Digital Personal Data Protection Act (DPDP), 2023, Indian businesses are responsible for protecting personal data processed by applications on employees' devices. If a malicious app exploits CVE-2023-21293 to detect your banking app and exfiltrate transaction data, you are liable—not just the attacker.

CERT-In's 6-Hour Mandate

CERT-In requires Indian organizations to report cybersecurity incidents within 6 hours of discovery. If attackers use this vulnerability to compromise your enterprise apps, you'll need to:
    1. Detect the breach (often takes days)
    2. Investigate the attack vector
    3. Notify CERT-In
    4. Notify affected users
All within 6 hours. The clock starts ticking the moment you discover it.

RBI Guidelines for Financial Institutions

If your business handles financial data or integrates with payment systems, RBI's cybersecurity framework mandates endpoint security controls. A vulnerability that allows silent app enumeration directly violates those controls.

Employee Device Risk

Most Indian SMBs use employee personal devices (BYOD) for business apps. A malicious app on an employee's personal phone can:
    1. Detect your enterprise VPN app and disable it
    2. Find your internal communication app and inject fake messages
    3. Discover your banking integration and intercept transactions
⚠️
WARNING
If your employees use personal Android devices for business, and a malicious app exploits CVE-2023-21293 to detect your enterprise apps, you have 6 hours to notify CERT-In. Most Indian SMBs don't have incident response procedures ready for this.

Technical Breakdown

Let me explain how this vulnerability actually works. Understanding the mechanics helps you recognize the threat in your own environment.

The Attack Flow

graph TD A[Malicious App Installed] -->|Attempts to query| B[PackageManager API] B -->|Permission check fails| C{Side-Channel Available?} C -->|Yes - Timing difference| D[Infer App Installation] C -->|Yes - Error message| E[Infer App Installation] C -->|Yes - System behavior| F[Infer App Installation] D --> G[Build App Enumeration List] E --> G F --> G G -->|Identify target apps| H[Launch Privilege Escalation] H -->|Exploit known CVEs| I[Gain System Access]

How the Side-Channel Works

Android's PackageManager.getApplicationInfo() method is designed to throw a PackageManager.NameNotFoundException if the app isn't installed and the caller doesn't have query permissions.

However, the native implementation has subtle behavioral differences:

  1. Timing Side-Channel: Querying an installed app takes slightly longer than querying a non-existent app (different code paths)
  2. Error Message Variations: Different error messages leak information about why the query failed
  3. System Log Leakage: Permission denials are logged differently based on whether the app exists
Here's a simplified example of vulnerable code:
java
// Vulnerable PackageManagerNative implementation (simplified)
public ApplicationInfo getApplicationInfo(String packageName, int flags, int userId) {
    // First, check if package exists (leaks information via timing)
    if (!doesPackageExist(packageName)) {
        // This path is FASTER
        throw new PackageManager.NameNotFoundException(packageName);
    }
    
    // Second, check permissions (only reached if package exists)
    if (!hasQueryPermission(packageName)) {
        // This path is SLOWER - attacker can measure the delay
        throw new PackageManager.NameNotFoundException(packageName);
    }
    
    // Return app info
    return mPackages.get(packageName);
}

An attacker can measure the time difference using System.nanoTime() and infer package existence:

java
// Attacker's code
public boolean isAppInstalled(String packageName) {
    long startTime = System.nanoTime();
    try {
        getPackageManager().getApplicationInfo(packageName, 0);
    } catch (PackageManager.NameNotFoundException e) {
        // Measure the time taken
        long duration = System.nanoTime() - startTime;
        
        // Installed apps take longer to reject (permission check happens)
        // Non-existent apps fail faster (existence check only)
        return duration > THRESHOLD_NANOSECONDS;
    }
    return true;
}

By running this check repeatedly across a list of known apps, an attacker can build a complete inventory of installed applications.

🛡️
SECURITY
This vulnerability is not about a single malicious API call. It's about statistical inference from timing measurements. Defenders can't simply "block" the attack—they need to fix the underlying side-channel in the native code.

Know your vulnerabilities before attackers do

Run a free VAPT scan — takes 5 minutes, no signup required.

Book Your Free Scan

How to Protect Your Business

Here's a practical defense strategy. I've organized it by what you can do immediately, and what requires longer-term investment.

Protection LayerActionDifficultyTimeline
Device UpdatesEnsure all Android devices run latest OS patchesEasyImmediate
App PermissionsAudit and minimize app permissions grantedMedium1-2 weeks
MDM DeploymentDeploy Mobile Device Management for BYODHard1-3 months
App AllowlistingOnly allow approved apps on business devicesHard2-4 weeks
MonitoringDetect suspicious app enumeration attemptsMedium1 month
Incident ResponseEstablish CERT-In notification proceduresMedium2 weeks

Immediate Actions (This Week)

1. Check Android Patch Level

First, identify which devices are vulnerable. Ask your employees to:

Settings → About Phone → Android Version
Settings → About Phone → Security Patch Level

Vulnerable devices are running:

    1. Android 11 (API 30) through Android 14 (API 34) with patches before March 2023
2. Audit Installed Apps

Deploy a quick audit script to see what apps are on employee devices:

bash
#!/bin/bash
# Run this via your MDM solution or manually on each device
adb shell pm list packages > installed_apps.txt
adb shell pm list packages -3 > third_party_apps.txt

# Check for known malicious apps
while read app; do
    echo "Checking: $app"
done < third_party_apps.txt

3. Enforce Latest Security Patches

If you have an MDM solution (like Microsoft Intune, Google Workspace, or MobileIron):

bash
# Example: Google Workspace mobile policy
# Enforce minimum Android version: 14
# Enforce minimum security patch: March 2024
# Enforce encryption: Required
💡
TIP
Use your MDM solution's "Compliance" rules to automatically wipe or lock devices that don't meet patch requirements. This is the fastest way to protect enterprise data.

Medium-Term Actions (Next 4 Weeks)

1. Implement Mobile Device Management (MDM)

If you don't have MDM yet, this is non-negotiable for Indian businesses handling sensitive data:

    1. Google Workspace (free tier available for SMBs)
    2. Microsoft Intune (integrated with Microsoft 365)
    3. Jamf (Apple-focused, but supports Android)
    4. MobileIron (enterprise-grade, popular in India)
2. Create an App Allowlist

Instead of blacklisting bad apps (impossible task), explicitly allow only approved apps:

bash
# MDM configuration example
Allowed Apps:
  - com.google.android.gms (Google Services)
  - com.microsoft.office.outlook (Business Email)
  - com.slack (Internal Communication)
  - com.company.vpn (Enterprise VPN)
  - com.company.banking (Business Banking)

Blocked Apps:
  - Everything else

3. Enable Threat Detection

Configure your MDM to detect suspicious behavior:

Detection Rules:
  - App attempting to enumerate installed packages → Alert
  - Multiple PackageManager queries in short time → Alert
  - App requesting QUERY_ALL_PACKAGES permission → Block
  - Rooted/jailbroken device detected → Wipe

Long-Term Strategy (Next 3 Months)

1. Establish Incident Response for Mobile

Create a documented process for CVE-2023-21293 exploitation:

Incident Response Checklist:
☐ Detect: Monitor for unusual app enumeration patterns
☐ Contain: Isolate affected devices from network
☐ Investigate: Review app installation logs and network traffic
☐ Notify: Alert CERT-In within 6 hours (DPDP Act requirement)
☐ Remediate: Push patches via MDM
☐ Document: Maintain incident record for compliance audit

2. Security Training for Employees

Android security isn't just technical—it's behavioral:

    1. Only install apps from Google Play Store
    2. Review app permissions before installing
    3. Don't grant "All Files Access" unless absolutely necessary
    4. Report suspicious device behavior immediately
3. Regular Vulnerability Scanning

Use MDM solutions to scan for vulnerable apps automatically:

bash
# Example: Scan for apps with known CVEs
# This should run weekly via your MDM
mdm_scan_vulnerabilities --include-cves --baseline-date 2023-03-01

For Indian businesses specifically, we've built CERT-In notification automation into our incident response workflow. When we detect a breach, we:

  1. Validate the threat
  2. Prepare the CERT-In report
  3. Help you meet the 6-hour notification window
  4. Document everything for RBI/compliance audits
This is the difference between a security incident and a compliance nightmare.

Book Your Free Security Scan — We'll audit your current mobile security posture and identify if you're vulnerable to CVE-2023-21293 exploitation. Takes 15 minutes, provides immediate actionable insights.


Key Takeaways

  1. CVE-2023-21293 is a side-channel vulnerability, not a traditional exploit. Attackers can silently enumerate installed apps without query permissions.
  1. Indian businesses face DPDP and CERT-In compliance risks. You have 6 hours to report breaches—most SMBs aren't prepared.
  1. MDM deployment is now essential, not optional. It's the only practical way to enforce patches and monitor device security at scale.
  1. Timing-based attacks are hard to defend against. Patches from Google are the only reliable fix. Ensure your devices are up-to-date.
  1. Employee education matters. Most Android compromises start with social engineering, not technical exploits.

Protect your business with Bachao.AI — India's automated vulnerability assessment and penetration testing platform. Get a comprehensive security scan of your web applications and infrastructure. Visit Bachao.AI to get started.

Frequently Asked Questions

What is CVE-2023-21293? CVE-2023-21293 is an Android security vulnerability that allows attackers to exploit weaknesses in the Android operating system. It was publicly disclosed and patched by Google as part of the Android Security Bulletin.

Why does this affect Indian SMBs? Indian SMBs increasingly rely on Android devices for business operations, from mobile banking to customer communication. Many organizations run BYOD policies with unpatched devices, making them prime targets for attackers exploiting known vulnerabilities like CVE-2023-21293.

How can I protect my organization? Ensure all Android devices in your organization are updated to the latest security patch level. Implement an MDM solution to enforce patch compliance, conduct regular VAPT assessments via platforms like Bachao.AI by Dhisattva AI Pvt Ltd, and align with CERT-In guidelines for incident reporting.


Written by Shouvik Mukherjee, Founder & CEO of Bachao.AI. Follow me on LinkedIn for daily cybersecurity insights for Indian businesses.

BR

Bachao.AI Research Team

Cybersecurity Research

AI-powered security research and threat intelligence from the Bachao.AI team. Covering the latest vulnerabilities, CVEs, and cybersecurity developments affecting Indian businesses.

Get cybersecurity insights for Indian SMBs

Weekly vulnerability alerts, DPDP compliance tips, and security guides. No spam — unsubscribe anytime.

We respect your privacy. Your email is never shared.

Run a free scan — get results in minutes

Free automated scan — risk score in under 2 hours. No credit card required.

See If You're Exposed
Find your vulnerabilitiesStart free scan →