Associated Vulnerability
Title:AVTECH EagleEyes Lite 安全漏洞 (CVE-2025-50110)Description:An issue was discovered in the method push.lite.avtech.com.AvtechLib.GetHttpsResponse in AVTECH EagleEyes Lite 2.0.0, the GetHttpsResponse method transmits sensitive information - including internal server URLs, account IDs, passwords, and device tokens - as plaintext query parameters over HTTPS
Description
Cleartext Transmission of Sensitive Information in EagleEyes Lite Android Application
Readme
# CVE-2025-50110
### Cleartext Transmission of Sensitive Information in EagleEyes Lite Android Application
## 1. Overview
<img src="images/eagleeyes-icon.png" align="left" width="150" hspace="10"/>
<br clear="left"/>
- **Application**: EagleEyes(Lite)
- **Version**: 2.0.0
- **Vendor**: AVTECH
- **CWE**: [CWE-319: Cleartext Transmission of Sensitive Information](https://cwe.mitre.org/data/definitions/319.html)
- **CVSS**:
- **Vector String**:
## 2. Summary
In EagleEyes Lite (version 2.0.0), the method `GetHttpsResponse()` transmits sensitive information such as account IDs, passwords, device tokens, and internal server URLs directly within the query string of an HTTPS request.
Because these credentials and tokens are embedded in the URL rather than being securely placed in the request body, they can be easily extracted by any adversary performing an MITM attack.
Even though the connection nominally uses HTTPS, the exposure of such sensitive parameters in plaintext within the URL significantly increases the risk of credential leakage and unauthorized access to AVTECH CCTV systems.
This weakness undermines the confidentiality of user data and makes the application particularly vulnerable when operating on untrusted networks.
## 3. Details
When the device runs on Android versions below 8.0, meaning `SDK_API_26` is set to `false`, the method does not return `GetHttpsUrlResponse()`.
Instead, it executes the vulnerable logic inside the `try` block.
```java
public static String GetHttpsResponse(String str) {
if (SDK_API_26) {
return GetHttpsUrlResponse(str);
}
try {
...
HttpResponse execute = new DefaultHttpClient(
new SingleClientConnManager(defaultHttpClient.getParams(), schemeRegistry),
defaultHttpClient.getParams()
).execute(new HttpPost(str));
...
}
...
}
```
Here, the parameter `str` contains the full request URL, which embeds sensitive information such as `account_id` and `password` directly in the query string.
As a result, user credentials are exposed in plaintext within the URL, making them susceptible to leakage if intercepted through an MITM attack or logged by intermediate systems.
## 4. Proof of Concept (PoC)
By running the Frida hooking script [hook.js](hook.js), we confirmed that the `GetHttpsResponse()` method was invoked, and that the generated request URL contained sensitive information (such as `account_id` and `password`) in plaintext.

For detailed analysis of the vulnerable `GetHttpsResponse()` implementation, please refer to [CVE-2025-46408](https://github.com/shinyColumn/CVE-2025-46408).
## 5. Recommendations
The application should never include sensitive information such as account ID, password, or authentication tokens in URL query parameters.
Instead, credentials must be transmitted securely within the HTTPS request body using POST parameters. This prevents sensitive values from being exposed in URLs, logs, or intermediary systems.
## 6. References
- https://github.com/shinyColumn/CVE-2025-46408
- https://github.com/shinyColumn/CVE-2025-50944
File Snapshot
[4.0K] /data/pocs/d64e7b148e903579cebc666d9c3f39428c657c07
├── [1.6K] hook.js
├── [4.0K] images
│ ├── [ 31K] eagleeyes-icon.png
│ └── [112K] eagleeyes-poc.png
└── [3.1K] README.md
1 directory, 4 files
Remarks
1. It is advised to access via the original source first.
2. Local POC snapshots are reserved for subscribers — if the original source is unavailable, the local mirror is part of the paid plan.
3. Mirroring, verifying, and maintaining this POC archive takes ongoing effort, so local snapshots are a paid feature. Your subscription keeps the archive online — thank you for the support. View subscription plans →