CVE-2024-46326

6.1 MEDIUM

📋 TL;DR

This vulnerability in Public Knowledge Project pkp-lib allows attackers to redirect users to malicious websites after logout due to insufficient input validation. It affects all users of pkp-lib versions 3.4.0-7 and earlier. The open redirect can be used for phishing attacks or to steal credentials.

💻 Affected Systems

Products:
  • Public Knowledge Project pkp-lib
Versions: 3.4.0-7 and earlier
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all installations using vulnerable versions regardless of configuration.

⚠️ 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 sites that steal credentials, install malware, or conduct phishing attacks, potentially compromising user accounts and organizational systems.

🟠

Likely Case

Attackers use the redirect for phishing campaigns to harvest user credentials or distribute malware to unsuspecting users.

🟢

If Mitigated

With proper input validation and URL filtering, the redirect is blocked or users are warned about external links, preventing successful exploitation.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires user interaction (clicking logout link) but is technically simple with public proof-of-concept available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.4.0-8 or later

Vendor Advisory: https://github.com/pkp/pkp-lib/issues/10478

Restart Required: No

Instructions:

1. Update pkp-lib to version 3.4.0-8 or later. 2. Apply the patch from the GitHub issue. 3. Verify the fix by testing logout functionality with malicious redirect attempts.

🔧 Temporary Workarounds

Input Validation Filter

all

Implement server-side validation to reject logout URLs containing external domains or suspicious patterns.

Modify logout function to validate redirect URLs against allowed domains list

WAF Rule

all

Configure web application firewall to block requests with external URLs in logout parameters.

Add WAF rule: Block requests where logout redirect parameter contains external domains

🧯 If You Can't Patch

  • Implement strict Content Security Policy (CSP) headers to restrict redirect destinations
  • Monitor logs for suspicious logout requests with external URLs and block offending IPs

🔍 How to Verify

Check if Vulnerable:

Test logout functionality with crafted URL containing external domain in redirect parameter (e.g., /logout?redirect=https://evil.com). If redirected, system is vulnerable.

Check Version:

Check pkp-lib version in application configuration or via package manager: dpkg -l | grep pkp-lib (Debian/Ubuntu) or rpm -qa | grep pkp-lib (RHEL/CentOS)

Verify Fix Applied:

Repeat the vulnerable test; system should not redirect to external domains and should either block the request or redirect to a safe default page.

📡 Detection & Monitoring

Log Indicators:

  • Logout requests with external URLs in parameters
  • Unusual redirect patterns in access logs

Network Indicators:

  • HTTP 302 redirects to unexpected external domains after logout

SIEM Query:

source="web_logs" AND (url="*/logout*" AND url="*http*" AND NOT url="*yourdomain.com*")

🔗 References

📤 Share & Export