CVE-2026-28413

5.3 MEDIUM

📋 TL;DR

This vulnerability in Products.isurlinportal allows attackers to redirect users to external malicious websites after login by manipulating the 'came_from' parameter. It affects Plone installations using vulnerable versions of the Products.isurlinportal package. The issue enables open redirect attacks that could facilitate phishing or credential theft.

💻 Affected Systems

Products:
  • Plone with Products.isurlinportal package
Versions: All versions before 2.1.0, 3.1.0, and 4.0.0
Operating Systems: All platforms running Plone
Default Config Vulnerable: ⚠️ Yes
Notes: Affects Plone installations where Products.isurlinportal is used as a replacement for the isURLInPortal method.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Users are redirected to malicious websites that steal credentials, install malware, or perform social engineering attacks after legitimate authentication.

🟠

Likely Case

Attackers use the redirect for phishing campaigns, tricking users into visiting fake login pages or malicious sites.

🟢

If Mitigated

With proper input validation and URL filtering, the redirect is blocked or users are warned before external navigation.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires user interaction (login) but the attack vector is simple URL manipulation.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.1.0, 3.1.0, or 4.0.0

Vendor Advisory: https://github.com/plone/Products.isurlinportal/security/advisories/GHSA-43gx-6gv6-3jcp

Restart Required: Yes

Instructions:

1. Identify current Products.isurlinportal version. 2. Upgrade to 2.1.0, 3.1.0, or 4.0.0 using pip or package manager. 3. Restart Plone instance. 4. Verify the fix by testing the came_from parameter.

🔧 Temporary Workarounds

Input Validation Filter

all

Add middleware or view code to validate and sanitize came_from parameter URLs before processing.

Implement URL validation in Plone authentication views to reject external URLs in came_from parameter

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to block URLs with multiple slashes or external domains in came_from parameter
  • Monitor authentication logs for suspicious redirect patterns and alert on anomalous came_from values

🔍 How to Verify

Check if Vulnerable:

Test by accessing /login?came_from=////evil.example and checking if redirect occurs after login

Check Version:

pip show Products.isurlinportal | grep Version

Verify Fix Applied:

After patching, test the same URL and confirm no external redirect occurs

📡 Detection & Monitoring

Log Indicators:

  • Authentication logs showing came_from parameter with multiple slashes or external domains
  • HTTP 302 redirects to external domains after login

Network Indicators:

  • Outbound HTTP requests to unexpected domains following Plone authentication

SIEM Query:

source="plone.log" AND (came_from CONTAINS "////" OR came_from CONTAINS "http://" OR came_from CONTAINS "https://")

🔗 References

📤 Share & Export