CVE-2025-9551

6.5 MEDIUM

📋 TL;DR

This vulnerability in Drupal Protected Pages module allows attackers to perform brute force attacks by bypassing rate limiting on authentication attempts. It affects all Drupal sites using Protected Pages module versions before 1.8.0. Attackers could potentially guess passwords for protected pages through unlimited login attempts.

💻 Affected Systems

Products:
  • Drupal Protected Pages module
Versions: 0.0.0 through 1.7.x
Operating Systems: All operating systems running Drupal
Default Config Vulnerable: ⚠️ Yes
Notes: All Drupal sites with Protected Pages module enabled are vulnerable regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers gain unauthorized access to sensitive protected pages containing confidential information, administrative interfaces, or private content by brute forcing credentials.

🟠

Likely Case

Attackers successfully brute force access to some protected pages with weak passwords, potentially exposing sensitive content or functionality.

🟢

If Mitigated

With strong passwords and additional security layers, impact is limited to failed login attempts and potential account lockouts.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires no special tools - attackers can use standard brute force tools against protected page URLs.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.8.0

Vendor Advisory: https://www.drupal.org/sa-contrib-2025-101

Restart Required: No

Instructions:

1. Update Protected Pages module to version 1.8.0 via Drupal's update manager or Composer. 2. Clear Drupal cache. 3. Verify module is updated to 1.8.0.

🔧 Temporary Workarounds

Implement Web Application Firewall (WAF) rate limiting

all

Configure WAF or reverse proxy to limit authentication attempts to protected pages

Disable Protected Pages module temporarily

drupal

Remove the vulnerable module until patching is possible

drush pm-uninstall protected_pages

🧯 If You Can't Patch

  • Implement strong password policies for all protected pages
  • Monitor authentication logs for brute force patterns and block suspicious IPs

🔍 How to Verify

Check if Vulnerable:

Check Protected Pages module version in Drupal admin at /admin/modules or via drush: drush pm-list | grep protected_pages

Check Version:

drush pm-list --fields=name,version | grep protected_pages

Verify Fix Applied:

Confirm module version is 1.8.0 or higher in Drupal admin or via drush

📡 Detection & Monitoring

Log Indicators:

  • Multiple failed authentication attempts to /protected-page URLs from same IP
  • Unusual spike in 403 responses for protected content

Network Indicators:

  • High volume of POST requests to protected page URLs
  • Pattern of sequential authentication attempts

SIEM Query:

source="drupal_access_log" AND (uri="/protected-*" OR uri="*/protected/*") AND status=403 | stats count by src_ip

🔗 References

📤 Share & Export