EcoOnline EHS Android App — Deep Link Validation Bypass to WebView Open Redirect (CVE-2026-26897)
by Ahmet Mersin (GitHub @iwallplace, HackerOne iwallplace) · 2026-07-05
- Severity
- Medium
- CVE
- CVE-2026-26897
- Category
- web
- Affected product
- EcoOnline EHS for Android (com.airsweb.v10)
- Affected versions
- 0.2.499 (versionCode 44631) and earlier
- Disclosed
- 2026-07-05
- Patch status
- patched
Archive entry
intelseclab/poc-archiveMetadata
| Field | Value |
|---|---|
| Date Added | 2026-07-05 |
| Last Updated | 2026-06 |
| Author / Researcher | Ahmet Mersin (GitHub @iwallplace, HackerOne iwallplace) |
| CVE / Advisory | CVE-2026-26897 |
| Category | web |
| Severity | Medium |
| CVSS Score | 6.3 (Medium) — researcher estimate, AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N |
| Status | PoC |
| Tags | android, deep-link, webview, open-redirect, phishing, cwe-939, mobile-security, ecoonline |
| Related | N/A |
Affected Target
| Field | Value |
|---|---|
| Software / System | EcoOnline EHS for Android (com.airsweb.v10) |
| Versions Affected | 0.2.499 (versionCode 44631) and earlier |
| Language / Platform | Android (Kotlin/Java), WebView; PoC is a static HTML page |
| Authentication Required | No |
| Network Access Required | Yes (victim must open a crafted deep link) |
Summary
EcoOnline EHS for Android is a WebView wrapper app that loads its content from a trusted domain and enforces a host allow-list (isInternalHost) whenever it restores or navigates URLs. The app also registers an exported, scheme-only custom URL handler (ehs-app://) via MainActivity. The deep-link handling branch takes the incoming URI, naively rewrites the scheme from ehs-app: to https:, and passes the result straight to WebView.loadUrl() without ever calling the allow-list check used elsewhere in the same file. As a result, any attacker-controlled https:// origin can be loaded inside the trusted app chrome simply by getting the victim to tap a crafted ehs-app:// link. The included PoC is a benign HTML page that proves the arbitrary-origin load with no data collection or network calls.
Vulnerability Details
Root Cause
The deep-link intent handler in MainActivityKt.WebViewPage performs a string-level scheme substitution (ehs-app: → https:) and calls loadUrl() directly, skipping the isInternalHost() domain allow-list that guards every other WebView navigation path in the app.
Attack Vector
- Attacker hosts arbitrary content (e.g., a look-alike login page) at any origin they control.
- Attacker crafts a link of the form
ehs-app://attacker.example/loginand delivers it via email, SMS, chat, or QR code. - Victim, who has the vulnerable EcoOnline EHS app installed, taps the link.
- The exported
MainActivitydeep-link handler rewrites the scheme and loadshttps://attacker.example/logininto the app’s main WebView without validating the host. - The attacker page renders with the trust and chrome of the legitimate app, enabling credential phishing or other UI spoofing.
Impact
An attacker can render arbitrary web content inside a trusted enterprise safety/EHS application, enabling convincing phishing (e.g., fake login prompts) that inherits the app’s perceived trust.
Environment / Lab Setup
Target: EcoOnline EHS Android app (com.airsweb.v10) version 0.2.499, versionCode 44631
Attacker: Android test device with the vulnerable APK installed; any web host to serve the redirect target; a way to deliver a deep link (email/SMS/QR/web page)
Proof of Concept
PoC Script
See
redirect-proof.htmlin this folder.
| |
The page is a neutral landing page that, once loaded inside the app’s WebView via the deep-link bypass, displays read-only runtime context (loaded URL, referrer, user-agent) to prove the arbitrary-origin load. It performs no credential capture, form submission, or network requests.
Detection & Indicators of Compromise
Signs of compromise:
- Users reporting an unexpected login prompt inside the EcoOnline EHS app
- WebView traffic from the app to domains outside the vendor’s allow-list
- Receipt of unsolicited
ehs-app://links via email/SMS/chat
Remediation
| Action | Detail |
|---|---|
| Primary fix | Update to com.airsweb.v10 version 0.2.500 or later |
| Interim mitigation | Avoid opening unsolicited ehs-app:// links; enterprises can restrict app installation to vendor-verified updates and educate users on deep-link phishing |
References
Notes
Mirrored from https://github.com/iwallplace/CVE-2026-26897-EcoOnline-DeepLink on 2026-07-05.
| |