whatisgithub

What is redis-poc?

berabuddies/redis-poc — explained in plain English

Analysis updated 2026-07-26

420PythonAudience · researcherComplexity · 4/5Setup · moderate

In one sentence

Proof-of-concept exploits that demonstrate remote code execution vulnerabilities in several Redis versions, including some that bypass existing security patches. Intended for authorized security testing only.

Mindmap

mindmap
  root((repo))
    What it does
      RCE exploits for Redis
      Bypasses some patches
      Targets memory corruption bugs
    Tech stack
      Python
      C compiler
      Redis-compatible checksums
    Use cases
      Penetration testing Redis
      Validating security patches
      Security research
    Audience
      Security researchers
      Penetration testers
    Risks
      Leaves residue on target
      Layout-sensitive exploits
      Authorized testing only

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Test your Redis instances for known RCE vulnerabilities during authorized penetration tests.

USE CASE 2

Verify whether security patches applied to your Redis deployment actually block the exploit.

USE CASE 3

Study real-world memory corruption exploit techniques used against in-memory data stores.

USE CASE 4

Demonstrate RedisBloom module vulnerabilities in a controlled lab environment.

What is it built with?

PythonCRedis

How does it compare?

berabuddies/redis-pocchroma-core/context-1-data-gengordensun/gordenpptskill
Stars420422422
LanguagePythonPythonPython
Setup difficultymoderatehardmoderate
Complexity4/54/53/5
Audienceresearcherresearcherdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires Python 3.6+ and a C compiler to build a helper checksum library before running exploits.

The explanation does not mention a license for this repository.

So what is it?

This repository contains proof-of-concept exploits that demonstrate remote code execution vulnerabilities in several versions of Redis, a popular in-memory data store. The exploits work against Redis versions 6.2.22, 7.4.9, 8.6.4, 8.8.0, and 8.8.1, including some cases where they bypass existing security patches. The tools are intended for authorized security testing only. Each exploit targets a specific memory corruption bug. For versions 7.4.9 through 8.6.4, the attack exploits a flaw in how Redis handles stream consumer groups, causing a double free condition. The 8.8.0 exploit abuses a heap overflow in a bundled data processing module called RedisBloom. The 8.8.1 exploit targets another RedisBloom module bug involving improper memory deallocation. The author notes that some of these bypass incomplete fixes for previously disclosed vulnerabilities. Running the exploits requires Python 3.6 or newer and a C compiler. A helper library for computing Redis-compatible checksums must be built once. After that, each exploit script takes a target host, port, optional password, and an optional shell command to execute upon success. If no command is supplied, the exploit writes a proof file to the target's data directory by default. The repository includes calibration scripts for non-standard Redis builds, since memory layout offsets differ across compiled binaries. The README documents reliability statistics from the author's own testing on fresh containerized instances. Success rates range from five out of five to twenty-five out of twenty-five attempts depending on the version. The exploits for 8.8.0 and 8.8.1 are described as layout-sensitive, meaning they depend on the target's memory allocator state and work best against a fresh instance with no other activity. Failed attempts abort without crashing the server. The documentation also notes that some exploits leave deliberate residue on the target, such as corrupted internal keys and zeroed data structures, to keep freed memory chunks from being reclaimed. The repository states these leftovers are inert but advises against flushing or saving the target database afterward.

Copy-paste prompts

Prompt 1
Write a Python script that connects to a Redis instance and checks whether it is running a version known to be vulnerable to RCE, listing the specific CVE if known.
Prompt 2
Explain how a double free vulnerability in Redis stream consumer groups can be triggered, and what memory layout conditions make exploitation more reliable.
Prompt 3
Create a checklist for safely running Redis RCE exploits in a lab environment, including how to snapshot the instance, avoid data loss, and clean up residue afterward.
Prompt 4
Compare the RedisBloom heap overflow bug in Redis 8.8.0 with the improper deallocation bug in 8.8.1, what makes each one exploitable and why are they layout-sensitive?

Frequently asked questions

What is redis-poc?

Proof-of-concept exploits that demonstrate remote code execution vulnerabilities in several Redis versions, including some that bypass existing security patches. Intended for authorized security testing only.

What language is redis-poc written in?

Mainly Python. The stack also includes Python, C, Redis.

What license does redis-poc use?

The explanation does not mention a license for this repository.

How hard is redis-poc to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is redis-poc for?

Mainly researcher.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.