Skip to navigation

Threat reportVulnerabilityTL-2026-5953

GitHub Security Lab Taskflow Agent identifies 24 Android app vulnerabilities (OsmAnd exported MapActivity location tracking, Wikipedia deeplink account takeover; CVE-2026-65993 to CVE-2026-65997)

mediumTRACKING

GitHub Security Lab reported that its open-source AI audit taskflows (seclab-taskflow-agent) found 24 vulnerabilities in Android apps. The detailed cases are OsmAnd (>10M downloads), where an exported MapActivity lets any installed app silently import settings and track location, and the Wikipedia Android app, where an endsWith() hostname check in deeplink and cookie handling enables cross-Wikimedia session theft and account takeover from a single tapped link.

Key facts

IdentifiersTL-2026-5953, CVE-2026-65993, CVE-2026-65994, CVE-2026-65995, CVE-2026-65996, CVE-2026-65997
Also known asGHSL-2026-101, GHSL-2026-103, GHSL-2026-106, GHSL-2026-108, GHSL-2026-109
SeverityMEDIUM
Affected productsOsmAnd OsmAnd (Android); Wikimedia Foundation Wikipedia Android app
Weaknesses (CWE)CWE-926, CWE-939, CWE-346
Toolsseclab-taskflow-agent, seclab-taskflows
MITRE ATT&CK techniquesT1204.001 User Execution: Malicious Link, T1430 Location Tracking, T1533 Data from Local System, T1539 Steal Web Session Cookie, T1635.001 Steal Application Access Token: URI Hijacking, T1641 Data Manipulation, T1660 Phishing
MotivationUNKNOWN
Target sectorstechnology, consumer, news - media, education
Target regionsGlobal
Detection rules9 (1 shown free)
Sources8 cited sources

Detection coverage

As of 2026-11-13, Threadlinqs Intelligence publishes 9 detection rule(s) for TL-2026-5953 across Splunk SPL, Microsoft KQL and Sigma, covering 11 indicator(s) of compromise. The whole corpus is readable without an account. Every threat comes with one complete detection in Splunk SPL, Microsoft KQL and Sigma, free for everyone; a free account adds daily TL Creds to unlock the rest. Paid plans add a larger daily allowance, correlation and the MCP server. Threadlinqs MCP server · View plans.

Free detection: Wikipedia Android Look-alike Host Request (endsWith Bypass) — Exploitation

Detects web-proxy requests to hostnames where a Wikimedia base domain (wikipedia.org, wikimedia.org, wikidata.org, mediawiki.org) is glued onto another label without a dot separator, e.g. evil-wikipedia.org. The Wikipedia Android deeplink handler (handleIntent) and SharedPreferenceCookieManager.kt validate hosts with endsWith(), so such hosts pass, load in the PageActivity WebView and receive the user's session cookies (CVE-2026-65993, GHSL-2026-101). Behaviour-first: no reliance on a specific domain IOC (evil-wikipedia.org is only an illustrative example). Maps to T1635.001, T1204.001, T1660 and T1189. Research states no in-the-wild exploitation; this is a vulnerability-exposure detection.

  • Languages: Splunk SPL, Microsoft KQL, Sigma
  • ATT&CK: T1635.001, T1204.001, T1660, T1189
  • Data sources: Splunk CIM Web data model (web proxy logs), CommonSecurityLog (proxy via CEF), sigma logsource category proxy
  • Severity: medium
  • Confidence: medium

Splunk SPL

| tstats summariesonly=true count min(_time) as firstTime max(_time) as lastTime values(Web.http_user_agent) as user_agent from datamodel=Web.Web by Web.src Web.url
| rename Web.* as *
| eval req_host=lower(replace(url, "^(?:https?://)?([^/:?#]+).*$", "\1"))
```Suffix-glued Wikimedia hostname: the endsWith() bypass in Wikipedia deeplink and cookie handling (CVE-2026-65993)```
| where match(req_host, "[^.](wikipedia|wikimedia|wikidata|mediawiki)[.]org$")
| eval firstTime=strftime(firstTime, "%Y-%m-%d %H:%M:%S"), lastTime=strftime(lastTime, "%Y-%m-%d %H:%M:%S")
| table firstTime lastTime src req_host url user_agent count

Microsoft KQL

CommonSecurityLog
| where TimeGenerated > ago(24h)
| where isnotempty(RequestURL) or isnotempty(DestinationHostName)
| extend ReqHost = tolower(iff(isnotempty(DestinationHostName), DestinationHostName, extract(@'^(?:https?://)?([^/:?#]+)', 1, RequestURL)))
// Suffix-glued Wikimedia hostname: endsWith() bypass in Wikipedia deeplink handling (CVE-2026-65993)
| where ReqHost matches regex @'[^.](wikipedia|wikimedia|wikidata|mediawiki)[.]org$'
| summarize FirstSeen=min(TimeGenerated), LastSeen=max(TimeGenerated), Requests=count(), SampleUrls=make_set(RequestURL, 5) by SourceIP, ReqHost
| project FirstSeen, LastSeen, SourceIP, ReqHost, Requests, SampleUrls

Sigma

title: Wikimedia Look-alike Host Request - Android endsWith Hostname Bypass
id: 5b1f3c7e-4a92-4d6b-8e0a-1c7d2f9a6b31
status: experimental
description: Detects proxy requests to hostnames that end in a Wikimedia base domain without a dot boundary (e.g. evil-wikipedia.org). The Wikipedia Android app validated deeplink and cookie hosts with endsWith(), so such hosts load in the app WebView and receive session cookies (CVE-2026-65993, GHSL-2026-101).
references:
  - https://securitylab.github.com/ai-agents/
  - https://github.blog/security/how-we-found-24-android-vulnerabilities-using-our-open-source-ai-security-agent/
author: Threadlinqs Team
date: 2026/11/13
tags:
  - attack.initial-access
  - attack.t1660
  - attack.t1189
  - attack.execution
  - attack.t1204.001
  - attack.credential-access
  - attack.t1635.001
  - cve.2026-65993
logsource:
  category: proxy
detection:
  selection:
    cs-host|re: '[^.](wikipedia|wikimedia|wikidata|mediawiki)[.]org$'
  condition: selection
falsepositives:
  - Unrelated third-party domains that happen to end in wikipedia.org, wikimedia.org, wikidata.org or mediawiki.org without a dot boundary
  - Security awareness or phishing-simulation exercises using look-alike domains
level: medium

Known false positives:

  • Legitimate third-party domains that happen to end in a Wikimedia base domain with no dot separator
  • Phishing-simulation or red-team exercises that register look-alike Wikimedia domains

Tuning notes: Requires web proxy or secure web gateway logs for mobile or Wi-Fi/VPN-routed traffic mapped to the CIM Web data model. Add confirmed-benign look-alike domains to an exclusion lookup. Raise priority when the same src also sends Wikimedia session cookies to the host (see TL-2026-5953-SPL-003). Mobile traffic off the corporate network will not be visible.

8 more detection rules (Splunk SPL, Microsoft KQL, Sigma) · unlock with TL Creds. Sign up free to unlock the detection rules or query them with the Threadlinqs MCP server (Purple)
  • DNS Resolution of Wikimedia Look-alike Domain (Deeplink Hijack Precursor) — Exploitation · unlock with TL Creds
  • OsmAnd First-Seen Tile Host Not Previously Contacted (Tile URL Template Overwrite) — Post-Exploitation · unlock with TL Creds
  • Wikimedia Session Cookies Sent to Look-alike Host (endsWith Cookie Scoping) — Exfiltration · unlock with TL Creds
  • Wikipedia App Traffic to Non-Wikimedia Host (WebView Loaded Attacker Page) — Exploitation · unlock with TL Creds
  • OsmAnd Map-Tile Request to Non-OSM Host (Silent Settings Import) — Post-Exploitation · unlock with TL Creds
  • Wikimedia Long-Lived Token Cookie Sent to Non-Wikimedia Host (Account Takeover) — Exfiltration · unlock with TL Creds
  • OsmAnd Tile Requests Redirected to Non-OSM Host (Settings Import Hijack) — Post-Exploitation · unlock with TL Creds
  • Wikimedia Session Cookies Sent to Non-Wikimedia Host (Cookie Theft) — Exfiltration · unlock with TL Creds

Indicators of compromise

As of 2026-11-13, Threadlinqs Intelligence tracks 11 indicators of compromise for TL-2026-5953.

Sample indicators (2 of 11)

  • Domain: evil-wikipedia[.]org
  • URL: hxxps://securitylab[.]github[.]com/ai-agents/

Defanged, TLP:CLEAR. Full set of 11 indicators: unlock with TL Creds.

11 indicators of compromise · unlock with TL Creds. Compare plans

Technical analysis

On 2026-09-28 Kevin Stubbings of GitHub Security Lab published results of auditing Android applications with the open-source GitHub Security Lab Taskflow Agent (seclab-taskflow-agent, MIT licence, Python, MCP-enabled, YAML-defined taskflows) and the seclab-taskflows audit set. Mobile-specific additions were gather_mobile_entry_point_info.yaml (separating mobile from non-mobile entry points) and an edited classify_application_local.yaml that forces per-entry-point checks for vulnerability classes such as confused deputy and insecure broadcasts. The author combined a strict prompt run repeatedly with a broader open prompt. The post says 24 vulnerabilities were reported at the time of writing (secondary coverage says 'more than 20'); a handful are critical, and common classes include path traversal, cross-app scripting in WebViews and exposed JavaScript bridges. Only OsmAnd and Wikipedia are named in the article.

OsmAnd (Android, >10M downloads): the activity MapActivity is exported and handles settings-file imports and in-app deeplinks. handleOsmAndSettingsImport reads the intent extras settings_version, silent_import, replace and export_type_list_key, which were meant to arrive only through an in-process AIDL service. Any app can attach these extras to an intent for an exported activity, so a malicious app with no permissions can silently import and replace settings without user confirmation. By overwriting the tile URL template to an attacker-controlled domain, the attacker receives the x/y coordinates of every map tile the user loads, and the same primitive exposes route origin and destination, with no visible change to the user. The Security Lab advisory index lists three OsmAnd advisories: GHSL-2026-106 (malicious deep links enable arbitrary file writes, CVE-2026-65996), GHSL-2026-108 (local apps can silently import malicious settings, CVE-2026-65997) and GHSL-2026-109 (local apps can steal location data and write files, CVE-2026-65995).

Wikipedia Android app: the handler for wikipedia:// deeplinks (handleIntent) validates the host with endsWith() against the base domain, so look-alike hosts (e.g. evil-wikipedia.org, per secondary coverage) pass and are forwarded to PageActivity, loading attacker content in the WebView while appearing to be Wikipedia and allowing JavaScript execution there. SharedPreferenceCookieManager.kt (about line 101) uses the same endsWith pattern to decide which cookies to send, so the victim's cookies go to the attacker page. The attacker obtains the username, a long-lived token and a session token valid across Wikimedia projects (Wikipedia, Commons, Wikidata, Meta), giving account takeover after one tapped link and with no permissions. Advisories: GHSL-2026-101 (malicious deep links can steal session cookies, CVE-2026-65993) and GHSL-2026-103 (local apps can hijack WebViews and steal session cookies, CVE-2026-65994), both dated 2026-10-01.

The article does not state in-the-wild exploitation, fix versions, CVSS scores or CWE identifiers, and published no PoC code (LLM-generated PoCs were used internally). NVD returned no records for the CVEs at research time. The author cautions that the model over-reports low-severity issues, overestimates severity when mitigations are missed (for example path traversal confined to external storage) and produces false positives, so every finding needs review by a mobile-security researcher. Severity here is analyst-assigned (MEDIUM, no CVSS in the sources); CWE mappings are analyst-derived from the described root causes.

MITRE ATT&CK techniques by tactic:

Execution

T1204.001 User Execution: Malicious Link

Collection

T1430 Location Tracking; T1533 Data from Local System

Credential Access

T1539 Steal Web Session Cookie; T1635.001 Steal Application Access Token: URI Hijacking

Impact

T1641 Data Manipulation

Initial Access

T1660 Phishing

Remediation

Patches

  • Fixed versions not stated in the sources; check vendor release notes (OsmAnd, Wikimedia) and the Security Lab advisories

Immediate actions

  • Update OsmAnd and the Wikipedia Android app to the latest store versions once the vendors' fixed releases are available; the sources do not state fix versions
  • Review the GitHub Security Lab advisories GHSL-2026-101, -103, -106, -108 and -109 for vendor status
  • On managed Android fleets, inventory installs of OsmAnd and the Wikipedia app and prioritise updates

Workarounds

  • Avoid tapping untrusted links on devices with the vulnerable Wikipedia app; sign out of Wikimedia accounts in the app if exposure is suspected
  • Restrict installation of untrusted apps on devices running vulnerable OsmAnd builds

Longer-term hardening

  • Do not export Android components that do not need to be exported; set android:exported=false and enforce permissions on required ones
  • Treat intent extras sent to exported activities as untrusted input and never gate security-relevant behaviour on extras meant for internal IPC
  • Validate deeplink hosts with exact-match or allow-list comparison instead of endsWith() or suffix matching, in both navigation and cookie-scoping code
  • Review every AI-generated finding with a mobile-security researcher before triage; use PoC generation or a debugger to cut false positives

Affected and fixed versions

  • OsmAnd — OsmAnd (Android)
    Vulnerable versions: Versions not stated in sources
    Fixed in: Not stated in sources
  • Wikimedia Foundation — Wikipedia Android app
    Vulnerable versions: Versions not stated in sources
    Fixed in: Not stated in sources

Timeline

  • GHSL-2026-082 (Signal for Android) is the earliest advisory on the Security Lab AI-agents advisory page, which later lists the OsmAnd and Wikipedia Android findings
  • GitHub Security Lab (Kevin Stubbings) publishes 'How we found 24 Android vulnerabilities using our open source AI security agent', detailing the OsmAnd and Wikipedia findings and the mobile taskflow additions
  • Help Net Security and other outlets report the research; coverage notes 'more than 20' reported vulnerabilities and no CVE or fix details at that time
  • Security Lab lists GHSL-2026-106 (CVE-2026-65996), GHSL-2026-108 (CVE-2026-65997) and GHSL-2026-109 (CVE-2026-65995) for OsmAnd: arbitrary file write, silent settings import and location theft
  • Security Lab lists GHSL-2026-101 (CVE-2026-65993, deeplinks steal session cookies) and GHSL-2026-103 (CVE-2026-65994, local apps hijack WebViews and steal session cookies) for Wikipedia
  • Research review: NVD returns no records for the CVEs yet; fix versions and in-the-wild exploitation are not stated in any source

Sources cited

Drafted by the Threadlinqs research pipeline from 8 sources; published ; last updated —.

Threadlinqs Intelligence — Real-Time Threat Detection Platform

// threat_feed
$ sort --newest
Showing all threats

Live intelligence console

Threat level

Latest Threats