lcimeni / lcimeni/cookie

NowSecure static analysis: Application Potentially Exposes Sensitive Data on Device Through App Backup

Open
#116 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

invalid nowsecure
Dominant language
No language data
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Finding Description

The application is declaring the allowBackup flag as true in the Android Manifest or is using the Android default value flag of true.
The Android backup feature can be used to expose device storage that would normally only be viewable by the app, known as private app storage.
This can allow an attacker to backup the application folder and recover private data.
Attacks against device storage typically require privilege escalation exploits.

Steps to Reproduce

Evaluate whether the allowBackup flag within the Android Manifest is set to False.

Business Impact

Allowing apps to be backed up can expose the application to reverse engineering attacks which can create security, privacy, and reputational risks.
In addition, enabling apps to be backed up can enable an unauthorized entity or attacker to gain access to sensitive information.

Remediation Resources
Recommended Fix

Unless app backups are absolutely necessary for the app to perform its functionality, always explicitly set the allowBackup flag to false in the Android Manifest.
For applications that do require specific files to be recoverable, it is possible to define backup rules and conditions in the manifest using these guidelines:
https://developer.android.com/guide/topics/data/autobackup#define-device-conditions

Code Samples

Bad Code Sample (.xml)

<manifest ... >
...
<application android:allowBackup="true" ... >
...
</application>
</manifest>

Good Code Sample 1 (.xml)

<manifest ... >
...
<application android:allowBackup="false" ... >
...
</application>
</manifest>

Good Code Sample 2 (.xml)

<application ...
android:allowBackup="True"
android:fullBackupContent="@xml/my_backup_rules"... >
</application>
my_backup_rules.xml
<?xml version="1.0" encoding="utf-8"?>
<full-backup-content>
<include domain="sharedpref" path="."/>
<exclude domain="sharedpref" path="device.xml"/>
</full-backup-content>
Additional Guidance
Risk and Regulatory Information

Severity: medium
CVSS: 4.6

Application
  • Platform: android
  • Package: com.spotify.zerotap

See more detail in the NowSecure Report

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the Android Manifest for package com.spotify.zerotap and inspect the application’s allowBackup setting. Confirm whether backups are required; done means the manifest explicitly disables backups or defines appropriate backup rules, then verify the resulting configuration with the project’s available Android checks.

Written by the indexing model from the issue text.

Assessment

Tech stack
android
Domain
mobile, security
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.