APP SUMMARY | |
---|---|
App Name | insecurebankv2 |
Android Package | com.android.insecurebankv2 |
Date of Scan | 16-JUL-2021, 11:28 AM |
App Version | 1.0 |
Android Min SDK Version | 15 |
Android Target SDK Version | 22 |
App Size | 3.3 MB |
Risk | Count |
---|---|
High | 1 |
Medium | 8 |
Low | 1 |
Warning | 1 |
Information | 2 |
Total | 13 |
No | Vulnerability Name | Risk | Severity | Cvss score | Occurrences |
---|---|---|---|---|---|
1 | Insecure communication | High | High | 8.1 | 36 |
2 | Use of insufficiently random values | Medium | Medium | 5.9 | 3 |
3 | Android debuggable enabled | Medium | Medium | 4.9 | 1 |
4 | Android backup vulnerability | Medium | Medium | 4.9 | 1 |
5 | Improper export of providers | Medium | Medium | 4.9 | 1 |
6 | Improper export of receivers | Medium | Medium | 4.9 | 1 |
7 | Weak hash - MD5 | Medium | Medium | 4.3 | 4 |
8 | Weak hash - SHA-1 | Medium | Medium | 4.3 | 1 |
9 | Insecure signature – SHA1withRSA | Medium | Medium | 4.1 | 1 |
10 | Javascript enabled in WebView | Low | Low | 2.9 | 3 |
11 | Android external storage | Warning | Warning | 13 | |
12 | Missing copy and paste protection from EditText fields | Information | Information | 9 | |
13 | Missing protection against screenshots | Information | Information | 10 |
Risk | High |
Severity | High |
CVSS Score | 8.1 |
Occurrences | 36 |
Details | Yaazhini detected HTTP URL in the source code. By default, the HTTP is insecure and fails to encrypt network traffic when necessary to protect sensitive communications. |
Remediation | Use the latest SSL/TLS protocol for all the connections that are authenticated or transmitting sensitive or valuable data. Such as credentials, credit card details, health, and other private information. |
File Path: | com\android\insecurebankv2\ChangePassword.java |
Line |
|
File Path: | com\android\insecurebankv2\DoLogin.java |
Line |
|
File Path: | com\android\insecurebankv2\DoTransfer.java |
Line |
|
File Path: | com\google\android\gms\analytics\AnalyticsReceiver.java |
Line |
|
File Path: | com\google\android\gms\analytics\CampaignTrackingReceiver.java |
Line |
|
File Path: | com\google\android\gms\analytics\CampaignTrackingReceiver.java |
Line |
|
File Path: | com\google\android\gms\analytics\internal\zza.java |
Line |
|
File Path: | com\google\android\gms\analytics\internal\zzl.java |
Line |
|
File Path: | com\google\android\gms\analytics\internal\zzl.java |
Line |
|
File Path: | com\google\android\gms\analytics\internal\zzl.java |
Line |
|
File Path: | com\google\android\gms\analytics\internal\zzl.java |
Line |
|
File Path: | com\google\android\gms\analytics\internal\zzl.java |
Line |
|
File Path: | com\google\android\gms\analytics\internal\zzl.java |
Line |
|
File Path: | com\google\android\gms\analytics\internal\zzl.java |
Line |
|
File Path: | com\google\android\gms\analytics\internal\zzl.java |
Line |
|
File Path: | com\google\android\gms\analytics\internal\zzy.java |
Line |
|
File Path: | com\google\android\gms\analytics\Tracker.java |
Line |
|
File Path: | com\google\android\gms\appindexing\Action.java |
Line |
|
File Path: | com\google\android\gms\appindexing\Action.java |
Line |
|
File Path: | com\google\android\gms\appindexing\Action.java |
Line |
|
File Path: | com\google\android\gms\appindexing\Action.java |
Line |
|
File Path: | com\google\android\gms\appindexing\Action.java |
Line |
|
File Path: | com\google\android\gms\appindexing\Action.java |
Line |
|
File Path: | com\google\android\gms\appindexing\Action.java |
Line |
|
File Path: | com\google\android\gms\appindexing\Action.java |
Line |
|
File Path: | com\google\android\gms\appindexing\Action.java |
Line |
|
File Path: | com\google\android\gms\appindexing\Action.java |
Line |
|
File Path: | com\google\android\gms\appindexing\Action.java |
Line |
|
File Path: | com\google\android\gms\appindexing\Action.java |
Line |
|
File Path: | com\google\android\gms\appindexing\Action.java |
Line |
|
File Path: | com\google\android\gms\appindexing\Action.java |
Line |
|
File Path: | com\google\android\gms\appindexing\Action.java |
Line |
|
File Path: | com\google\android\gms\appindexing\Action.java |
Line |
|
File Path: | com\google\android\gms\common\internal\zzm.java |
Line |
|
File Path: | com\google\android\gms\internal\zzgk.java |
Line |
|
File Path: | com\google\android\gms\tagmanager\zzax.java |
Line |
|
Risk | Medium |
Severity | Medium |
CVSS Score | 5.9 |
Occurrences | 3 |
Details | The android application used to generate random numbers in java is java.util.Random. Usage of java.util.Random class makes the random number generation cryptographically weak. |
Remediation | Use java.security.SecureRandom class for random number generation. |
File Path: | com\google\android\gms\ads\internal\client\zzl.java |
Line |
|
File Path: | com\google\android\gms\analytics\Tracker.java |
Line |
|
File Path: | com\google\android\gms\iid\zzc.java |
Line |
|
Risk | Medium |
Severity | Medium |
CVSS Score | 4.9 |
Occurrences | 1 |
Details | android:debuggable='true' property is present in the application tag which means an application can be debugged even when running on a device. |
Remediation | Yaazhini detected Android debugging on the androidmanifest.xml file. The android:debuggable='true' property is present in the application tag, which means an application can be debugged even when the program is running on a device. |
File Path: | AndroidManifest.xml |
Line |
|
Risk | Medium |
Severity | Medium |
CVSS Score | 4.9 |
Occurrences | 1 |
Details | Yaazhini detected an Android backup vulnerability in the androidmanifest.xml file. The property android:allowBackup='true' exists on the application tag in the androidmanifest.xml file, which means the Android application users can back up the app's internal data, which resides under /data/data/ |
Remediation | To avoid Android backup vulnerability, set android:allowBackup=false within the androidmanifest.xml file. |
File Path: | AndroidManifest.xml |
Line |
|
Risk | Medium |
Severity | Medium |
CVSS Score | 4.9 |
Occurrences | 1 |
Details | Yaazhini detected the providers were exported on the androidmanifest.xml file. The content provider is public because android:exported='true' property is specified. The ContentProviderclass provides a mechanism for managing and sharing data with other Android applications. When sharing a provider's data with other applications, public access should be disabled. |
Remediation | If the provider does not need to be accessed by other android applications, mark the provider explicitly as android:exported=false in the application manifest file. Ignore the issue if the provider was exported intentionally. |
File Path: | AndroidManifest.xml |
Line |
|
Risk | Medium |
Severity | Medium |
CVSS Score | 4.9 |
Occurrences | 1 |
Details | Yaazhini detected the receiver was exported on the android Manifest.xml file. The Android application exports a component to use other android applications but does not properly restrict which applications can launch the feature or access the data it contains. If the access to the receiver is not specified, the external applications can receive them. It is not an issue if the receiver does not get involved with any sensitive data. |
Remediation | If the receiver does not need to be accessed by other Android applications, mark receiver explicitly as android:exported=false in the application manifest file. Ignore the issue if the receiver was exported intentionally. |
File Path: | AndroidManifest.xml |
Line |
|
Risk | Medium |
Severity | Medium |
CVSS Score | 4.3 |
Occurrences | 4 |
Details | Yaazhini detected that this application uses the MD5 MessageDigest algorithm, which is weak. |
Remediation | SHA256 algorithm is recommended to use. PBKDF2 is recommended to use as hash passwords. |
File Path: | com\google\android\gms\ads\internal\util\client\zza.java |
Line |
|
File Path: | com\google\android\gms\internal\zzak.java |
Line |
|
File Path: | com\google\android\gms\internal\zzbl.java |
Line |
|
File Path: | com\google\android\gms\internal\zzhl.java |
Line |
|
Risk | Medium |
Severity | Medium |
CVSS Score | 4.3 |
Occurrences | 1 |
Details | Yaazhini detected that this application uses the SHA-1 MessageDigest algorithm, which is weak. |
Remediation | SHA256 algorithm is recommended to use. PBKDF2 is recommended to use as hash passwords. |
File Path: | com\google\android\gms\iid\InstanceID.java |
Line |
|
Risk | Medium |
Severity | Medium |
CVSS Score | 4.1 |
Occurrences | 1 |
Details | Yaazhini detected that this application uses the SHA1withRSA algorithm. SHA1withRSA is known as insecure signature in the mobile application. |
Remediation | Use strong encryption algorithms such as SHA256withRSA for the signature. |
File Path: | com\google\android\gms\ads\internal\purchase\zzl.java |
Line |
|
Risk | Low |
Severity | Low |
CVSS Score | 2.9 |
Occurrences | 3 |
Details | Yaazhini detected that this application uses Webview with JavaScript enabled. Allowing JavaScript code to be executed on WebView might execute arbitrary JavaScript code. |
Remediation | It's better not to use javascript on the WebView. But if the developers have to use this feature, Allow only trusted javascript code to be processed in the WebView, and the code processed in the WebView must be audited for a Cross-site scripting attack. |
File Path: | com\android\insecurebankv2\ViewStatement.java |
Line |
|
File Path: | com\google\android\gms\internal\zzfd.java |
Line |
|
File Path: | com\google\android\gms\internal\zzig.java |
Line |
|
Risk | Warning |
Severity | Warning |
Occurrences | 13 |
Details | Yaazhini detected that this application uses an Android external storage application. External storage also stores Android application data. There's no security enforced on the saved file in external storage. Files created on external storage, such as SD cards, are globally readable and writable because external storage can be removed and modified by the user. It is not an issue if the developer does not store sensitive information on external storage. |
Remediation | Always use internal storage to write sensitive information. If the user wants to store data externally, encryption is required. |
File Path: | android\support\v4\content\ContextCompat.java |
Line |
|
File Path: | android\support\v4\content\ContextCompat.java |
Line |
|
File Path: | android\support\v4\content\ContextCompat.java |
Line |
|
File Path: | android\support\v4\content\ContextCompat.java |
Line |
|
File Path: | android\support\v4\content\ContextCompatFroyo.java |
Line |
|
File Path: | android\support\v4\content\ContextCompatFroyo.java |
Line |
|
File Path: | android\support\v4\content\FileProvider.java |
Line |
|
File Path: | android\support\v4\os\EnvironmentCompat.java |
Line |
|
File Path: | com\android\insecurebankv2\DoTransfer.java |
Line |
|
File Path: | com\android\insecurebankv2\DoTransfer.java |
Line |
|
File Path: | com\android\insecurebankv2\ViewStatement.java |
Line |
|
File Path: | com\android\insecurebankv2\ViewStatement.java |
Line |
|
File Path: | com\google\android\gms\internal\zzcb.java |
Line |
|
Risk | Information |
Severity | Information |
Occurrences | 9 |
Details | Yaazhini detected that this Android application does not implement the copy and paste protection in the edit text fields. On the Android application platform, the clipboard is a framework that supports various types of data to copy and paste within the app and among apps. The clipboard holds only one clip object at a time. The developer should not allow the sensitive fields to be copied in the clipboard. |
Remediation | Disable the copy and paste operation in the EditText field, which contains sensitive data like PIN and credit card numbers. |
File Path: | res\layout\activity_change_password.xml |
Line |
|
File Path: | res\layout\activity_do_transfer.xml |
Line |
|
File Path: | res\layout\activity_do_transfer.xml |
Line |
|
File Path: | res\layout\activity_do_transfer.xml |
Line |
|
File Path: | res\layout\activity_do_transfer.xml |
Line |
|
File Path: | res\layout\activity_file_pref.xml |
Line |
|
File Path: | res\layout\activity_file_pref.xml |
Line |
|
File Path: | res\layout\activity_log_main.xml |
Line |
|
File Path: | res\layout\activity_log_main.xml |
Line |
|
Risk | Information |
Severity | Information |
Occurrences | 10 |
Details | Yaazhini detected that this Android application does not implement screenshot protection. |
Remediation | Disable taking a screenshot feature if the app's screen contains sensitive data. |