Vulnerability Report AITL
Vulnerability Report AITL
Vulnerability Report
16 Jul 2019
QA Ninjas SECURITY
This document summarizes the findings, analysis and recommendations from the assessment
conducted by QA Ninjas
1.2. DISCLAIMER
• By its nature the test scans only the vulnerabilities that can potentially lead to an intrusion. It
does not mean that the intrusions which happened in the past will be detected; neither would it
mean that it will detect and prevent intrusions which might happen in future.
• The test is meant to find possible vulnerabilities based on the data provided by customer. If
inadequate or incorrect data is provided, it can result into limiting the scope of testing, which
can further result in unidentified loopholes in the network. QA Ninjas will not be liable for
such situations.
• With time, hacking methodologies, technologies and tools change. As a result, a vulnerability
fixed today does not mean it is fixed forever. It is very likely that the vulnerability fixed today
with a patch or re-configuration, can still be exploited in future, which is why we recommend
taking the vulnerability test periodically.
• It is often misconstrued that a vulnerability test is an actual hacking attack; in reality, the test is
an attempt to look for possible vulnerabilities that can potentially lead to an intrusion.
• Vulnerability tests are not capable of and are not intended to detect any inherent hardware,
software, firmware or application based problems. The same applies to IT performance and
functionality problems too.
• As a policy to protect customer’s data privacy, QA Ninjas does not provide logs to the
customer. The logs are treated as internal working data for QA Ninjas’s tech team, hence are
intellectual property of QA Ninjas, and the report generated out of it is the only output/outcome
meant for the customer to see. QA Ninjas deletes/destroys all the logs and findings of the
performance test, after 3 (three) days from the submission of final report as a matter of
security practice, to protect client’s confidentiality. Any disputes or concerns raised after 3
days will call for a re-testing which counts of repetition of the testing effort and will be charged
extra.
android.permission.BLUETOOTH_ADMIN
android.permission.INTERNET
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.BLUETOOTH
android.permission.ACCESS_WIFI_STATE
android.permission.ACCESS_NETWORK_STATE
android.permission.CAMERA
android.permission.WRITE_SYNC_SETTINGS
com.google.android.providers.gsf.permission.READ_GSERVICES
android.permission.ACCESS_COARSE_LOCATION
android.permission.SYSTEM_ALERT_WINDOW
com.google.android.c2dm.permission.RECEIVE
com.allintheloop.permission.C2D_MESSAGE
com.allintheloop.permission.MAPS_RECEIVE
android.permission.READ_EXTERNAL_STORAGE
android.permission.READ_PHONE_STATE
android.permission.VIBRATE
android.permission.WAKE_LOCK
android.permission.DOWNLOAD_WITHOUT_NOTIFICATION
http://allintheloop.com/terms.html
http://docs.google.com/gview?embedded=true&url=
http://graph.facebook.com/
http://gvtesting.cloudapp.net/cgi-bin/Loop/getroute.py
http://maps.google.com/maps/api/staticmap?&zoom=14&markers=color:red%7Clabel:%7C
http://www.
http://www.allintheloop.net/apiv4/testParam
http://www.allintheloop.net/assets/user_files/
http://www.twitter.com/
http://zxing.appspot.com
https://.facebook.com
https://api.linkedin.com/v1/people/~:(email-address,first-name,last-name,picture-url,headline)
https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))&
https://api.linkedin.com/v2/me?
https://api.linkedin.com/v2/me?projection=(id,profilePicture(displayImage~:playableStreams))&
https://cloud.estimote.com
https://com.allintheloop.linkedin.oauth/oauth
https://facebook.com/device?user_code=%1$s&qr=1
https://graph-video.%s
https://graph.%s
https://play.google.com/store/apps/details?id=
https://plus.google.com/
https://proximitybeacon.googleapis.com/v1beta1/
https://www.
https://www.allintheloop.net/
https://www.example.com/legal
https://www.example.com/privacy
https://www.facebook.com/dialog/return/close?#_=_
https://www.google.com/cloudprint/dialog.html
https://www.googleapis.com/auth/appstate
https://www.googleapis.com/auth/datastoremobile
https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/drive.appdata
https://www.googleapis.com/auth/drive.apps
https://www.googleapis.com/auth/drive.file
https://www.googleapis.com/auth/fitness.activity.read
https://www.googleapis.com/auth/fitness.activity.write
https://www.googleapis.com/auth/fitness.blood_glucose.read
https://www.googleapis.com/auth/fitness.blood_glucose.write
https://www.googleapis.com/auth/fitness.blood_pressure.read
https://www.googleapis.com/auth/fitness.blood_pressure.write
https://www.googleapis.com/auth/fitness.body.read
https://www.googleapis.com/auth/fitness.body.write
https://www.googleapis.com/auth/fitness.body_temperature.read
https://www.googleapis.com/auth/fitness.body_temperature.write
https://www.googleapis.com/auth/fitness.location.write
https://www.googleapis.com/auth/fitness.nutrition.read
https://www.googleapis.com/auth/fitness.nutrition.write
https://www.googleapis.com/auth/fitness.oxygen_saturation.read
https://www.googleapis.com/auth/fitness.oxygen_saturation.write
https://www.googleapis.com/auth/fitness.reproductive_health.read
https://www.googleapis.com/auth/fitness.reproductive_health.write
https://www.googleapis.com/auth/games
https://www.googleapis.com/auth/games.firstparty
https://www.googleapis.com/auth/games_lite
https://www.googleapis.com/auth/plus.login
https://www.googleapis.com/auth/plus.me
https://www.linkedin.com/oauth/v2/login-cancel
https://www.linkedin.com/uas/oauth2/accessToken?
https://www.linkedin.com/uas/oauth2/authorization?
http://cancelurl
http://returnurl
https://api-m.paypal.com/v1/
https://api-m.sandbox.paypal.com/v1/
https://api.mapbox.com
https://api.paypal.com/v1/tracking/events
https://api.stripe.com
https://b.stats.paypal.com/counter.cgi?p=
https://cms.paypal.com/jp/cgi-bin/marketingweb?cmd=_render-
content&content_ID=ua/Legal_Hub_full&locale.x=en_US
https://cms.paypal.com/jp/cgi-bin/marketingweb?cmd=_render-
content&content_ID=ua/Legal_Hub_full&locale.x=ja_JP
https://e.crashlytics.com/spi/v2/events
https://events.mapbox.com
Private & Confidential
https://settings.crashlytics.com/spi/v2/platforms/android/apps/%s/settings
https://svcs.paypal.com/AccessControl/LogRiskMetadata
https://uri.paypal.com/services/expresscheckout
https://uri.paypal.com/services/loyalty/memberships/update
https://uri.paypal.com/services/mis/customer
https://uri.paypal.com/services/payments/basic
https://uri.paypal.com/services/payments/funding-options
https://uri.paypal.com/services/payments/futurepayments
https://uri.paypal.com/services/paypalattributes
https://uri.paypal.com/services/pos/payments
https://uri.paypal.com/services/wallet/financial-instruments/view
https://uri.paypal.com/services/wallet/money-request/requests
https://uri.paypal.com/services/wallet/sendmoney
https://www.mapbox.com/map-feedback
https://www.mapbox.com/map-feedback/#/%f/%f/%d
https://www.paypal.com/%s/cgi-bin/webscr?cmd=_account-recovery&from=%s&locale.x=%s
https://www.paypal.com/%s/cgi-bin/webscr?cmd=p/gen/ua/policy_privacy-outside
https://www.paypal.com/%s/webapps/mpp/ua/useragreement-full
https://www.paypal.com/signup/account?country.x=%s&locale.x=%s
https://www.paypal.com/webapps/accountrecovery/passwordrecovery
https://www.paypal.jp/jp/contents/regulation/info/overseas-remittance/
https://www.paypalobjects.com/webstatic/risk/dyson_config_android_v3.json
Severity : High
Risk
This is a critical vulnerability and allows attackers to do MITM attacks without your knowledge.
Threat
The developer implements the TrustManager interface so that it will trust all the server certificate
Technical Details
This app does not check the validation of SSL Certificate. It allows self-signed, expired or
mismatch CN certificates for SSL connection
1. com.paypal.android.sdk.cc.a() 2.Following classes may be vulnerable, Please manually
confirm 3.io.fabric.sdk.android.services.network.NetworkUtils.a()
4.org.apache.http.ssl.SSLContextBuilder.loadTrustMaterial()
Severity : High
Risk
Everything you delete may be recovered by any user or attacker, especially rooted devices.
Threat
When you delete a file using file.delete(), only the reference to the file is removed from the file
system table. The file still exists on disk until other data overwrites it, leaving it vulnerable to
recovery.
Technical Details
Severity : Medium
Risk
The attacker can access backup and access the sensitive data including passwords
Threat
The Android operating system offers a backup/restore mechanism of installed packages through
the ADB utility. Full backup of applications including the private files stored on /data partition is
performed by default, but applications can customize this behaviour by implementing a
BackupAgent class. This way they can feed the backup process with custom files and data.
Technical Details
Severity : Medium
Risk
The WebView JavaScript bridge can be abused to execute arbitrary Java code, by using
reflection to acquire a reference to a run time object via the interface. The attacker can perform
many attacks against the device. The lowest impact attack would be downloading contents in the
SD card and the exploited application’s data directory. However, depending on the device
Threat
For some apps that handle web content if they want to view (equivalent to) certain web pages in
that app, than in the browser they make use of web view.
Technical Details
Severity : Medium
Risk
Logging sensitive information can leak sensitive information to malicious apps
Threat
Android provides capabilities for an app to output logging information and obtain log output.
Applications can send information to log output using the android.util.Log class. To obtain log
output, applications can execute the logcat command.
Technical Details
1.9.4 Protection of text fields from copying the text and paste outside your app
Severity : Medium
Risk
Clipboard data manipulation may lead to common code injection attacks, like JavaScript injection
and command injection. Furthermore, it can also cause phishing attacks, including web phishing
and app phishing. Data stealing happens when sensitive data copied into the clipboard is
accessed by malicious applications.
Threat
On Android platform, the clipboard is a powerful framework to support various types of data copy
and paste within an app as well as among apps. There is a flaw In Android's API that allows any
installed application to listen to changes to the clipboard (listen to everything that is copied and
pasted).
Technical Details
This app does not have code for preventing copy paste from application
1.9.5 Protection of capturing screenshots & sharing screens outside your app
Severity : Medium
Risk
Private & Confidential
By not protecting the screen shot capture and screen sharing the user risks of leaking sensitive
information.
Threat
The sensitive information of an app and user activities can be stolen via capturing screen shot
and sharing the screens.
Technical Details
This app does not have code to prevent from taking screenshots
1.9.6 Protection of app screens by blurring when the app is running in background
Severity : Medium
Risk
By not protecting the screen shot capture of the app preview running in background the user
risks of leaking sensitive information.
Threat
When a user sends an app to background, the information displayed on the screen when the
screen is on foreground is shown as preview. This information shown in the preview of the app
can be stolen via screen shot capture.
Technical Details
This app does not have code to prevent previewing application screens when application is
running background
Severity Low
Risk
Unencrypted Credentials in Databasesexposes credentials that allow unauthorized individuals to
act with the identity and permission of trusted individuals and systems .
Threat
SQLite is an in-process library that implements a self-contained, serverless, zero-configuration,
transactional SQL database engine.
Technical Details
Private & Confidential
This app is not using SQLCipher(http://sqlcipher.net/) to encrypt or decrypt databases.Usage of
SQLiteDatabase classes found in following methods
1.com.allintheloop.Util.SQLiteDatabaseHandler.A()