FC Red Bull Salzburg App "at.redbullsalzburg.android.AppMode.Default.Splash.SplashActivity" Arbitrary URL Loading
Jun 1, 2023 · By Julien Ahrens
ADVISORY INFORMATION
- Product: FC Red Bull Salzburg App
- Vendor URL: https://play.google.com/store/apps/details?id=laola.redbull
- Type: Improper Authorization in Handler for Custom URL Scheme [CWE-939]
- Date found: 2023-04-06
- Date published: 2023-06-01
- CVSSv3 Score: 6.1 (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N)
- CVE: CVE-2023-29459
CREDITS
This vulnerability was discovered and researched by Julien Ahrens from RCE Security.
VERSIONS AFFECTED
FC Red Bull Salzburg App <= 5.1.9-R
INTRODUCTION
Die FC Red Bull Salzburg-App bietet allen Fans innovative Features, die ein modernes Stadionerlebnis ermöglichen.
Mit verschiedenen Livecams, die nur innerhalb der Red Bull Arena abrufbar sind und das Spielgeschehen aus unterschiedlichen Perspektiven zeigen, sowie auch Sofortwiederholungen aller wichtigen Szenen wird der Besuch in der Red Bull Arena auf ein neues Level gehievt.
(from the vendor’s homepage)
VULNERABILITY DETAILS
The “FC Red Bull Salzburg App” app for Android exposes an activity called “at.redbullsalzburg.android.AppMode.Default.Splash.SplashActivity”.
This activity aims to show the contents of a given URL within the app’s context. However, the app does not properly validate the URL and the intent’s data URI, which an unauthenticated attacker can abuse to load arbitrary contents into the app by either tricking the user into opening a specifically crafted link or using a malicious app on the same device.
The specific problem here is the assumed trust between the user having the app installed and what the app is actually doing/displaying to the user. So if the user sees the app being loaded and automatically redirecting to another page, it can be assumed that the user also trusts the loaded page.
PROOF OF CONCEPT
There are two ways to exploit this vulnerability:
- Via the app’s custom URI scheme “fcrbs” followed by any arbitrary URL:
fcrbs://www.rcesecurity.com
- Via an explicit intent invocation:
Intent i = new Intent();
i.setComponent(new ComponentName("laola.redbull", "at.redbullsalzburg.android.AppMode.Default.Splash.SplashActivity"));
i.setData(Uri.parse("https://www.rcesecurity.com"));
startActivity(i);
SOLUTION
None. Uninstall the app.
REPORT TIMELINE
- 2023-04-06: Discovery of the vulnerability
- 2023-04-06: RCE Security sends initial notification to vendor via security@redbull.com and to soc@redbull.com
- 2023-04-06: RCE Security asks Intigriti.com for a security contact because of a disagreement with Intigriti’s disclosure terms
- 2023-04-06: Intigriti states that they don’t hand out contact email addresses of customers
- 2023-04-06: MITRE assigns CVE-2023-29459
- 2023-04-07: Vendor responds stating to submit everything via Intigriti
- 2023-04-07: RCE Security asks for another way to report due to the unacceptable T&Cs of Intigriti
- 2023-04-11: Vendor responds stating that a report to soc@redbull.com is sufficient
- 2023-04-11: RCE Security provides a preliminary version of this advisory
- 2023-04-19: Vendor acknowledges the vulnerability
- 2023-04-19: RCE Security extends disclsoure date to its maxiumum of 45 days
- 2023-05-07: No Response from vendor
- 2023-05-07: RCE Security asks vendor for an update since disclosure date is coming
- 2023-05-11: No Response from vendor
- 2023-05-11: RCE Security asks vendor for an update
- 2023-05-12: Vendor response stating that more time is needed to fix the bug since the developers are not within the organization
- 2023-05-15: RCE Security reminds the vendor of the disclosure policy and date
- 2023-05-27: No response from vendor
- 2023-05-27: RCE Security sends one last notification and adjusted the disclosure date to 01st June 2023
- 2023-06-01: No response from vendor
- 2023-06-01: Public Disclosure