CVE-2018-20371

9.8 CRITICAL

📋 TL;DR

PhotoRange Photo Vault 1.2 appends passwords directly to URIs for authentication, allowing attackers to bypass login protections via brute-force guessing. This affects users of the vulnerable app version who expose it to network access. Attackers can potentially access protected photos without valid credentials.

💻 Affected Systems

Products:
  • PhotoRange Photo Vault
Versions: 1.2
Operating Systems: Android, iOS
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects version 1.2; earlier/later versions may have different behavior.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of all protected photos in the vault, leading to privacy violations and potential blackmail or identity theft.

🟠

Likely Case

Unauthorized access to some protected photos through automated brute-force attacks, resulting in privacy breaches.

🟢

If Mitigated

Limited impact if app is isolated from network access or behind strong perimeter controls.

🌐 Internet-Facing: HIGH - Directly exposed instances can be brute-forced remotely without authentication.
🏢 Internal Only: MEDIUM - Internal attackers could still exploit if they can reach the service.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Simple brute-force script can automate password guessing via URI manipulation.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: Not available

Restart Required: No

Instructions:

Update to a newer version if available, or discontinue use of the vulnerable version.

🔧 Temporary Workarounds

Network Isolation

all

Prevent the app from being accessible over network interfaces.

Use Strong Passwords

all

Implement complex passwords to increase brute-force difficulty.

🧯 If You Can't Patch

  • Disable network access to the app entirely
  • Monitor for unusual URI patterns in web server logs

🔍 How to Verify

Check if Vulnerable:

Check if Photo Vault version is 1.2 and test if appending passwords to URIs (e.g., /login.html__password) bypasses authentication.

Check Version:

Check app version in device settings or app store listing.

Verify Fix Applied:

Verify updated version no longer accepts password in URI and requires proper authentication.

📡 Detection & Monitoring

Log Indicators:

  • Repeated GET requests to /login.html__* patterns
  • Failed authentication attempts with URI-based passwords

Network Indicators:

  • HTTP traffic with password strings appended to URIs
  • Brute-force patterns to login endpoints

SIEM Query:

source="web_server" AND uri="/login.html__*"

🔗 References

📤 Share & Export