Skip to content
Light-MudryPublic

About

Proof-of-concept implementations for CVE research, vulnerability analysis, and Linux security experimentation.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

🔐 CVE PoCs

Proof-of-concept implementations for CVE research, vulnerability analysis and Linux security experimentation.

C Linux Focus Purpose


Overview

This repository contains C-based PoCs developed to study selected vulnerabilities affecting Linux subsystems and to explore their underlying mechanisms.

Depending on the vulnerability, implementations range from controlled user-space simulations to experiments interacting with real Linux interfaces and subsystems.

🔗 Background: this repository continues earlier work on the same research theme, initiated in the predecessor repository containers_for_faas_security, a set of PoCs covering CVEs from 2016 to 2024. It builds on that work and extends it.

Note

A PoC in this repository is not necessarily a complete or reliable exploit. Some implementations reproduce vulnerable logic in a controlled environment rather than triggering the vulnerability directly in the Linux kernel.

Purpose

  • Study the technical mechanisms behind Linux vulnerabilities
  • Reproduce vulnerable conditions in controlled environments
  • Analyze memory-safety and boundary-checking issues
  • Explore kernel subsystem behavior
  • Investigate the security implications of containerized environments
  • Develop experimental PoCs for vulnerability research
  • Document observations and limitations during security experiments

Areas of Research

Category Topics
Memory safety Use-after-free · Out-of-bounds access · Buffer overflows · Memory lifetime and object reuse
Integer & boundary handling Integer wraparound · Allocation-size mismatches · Insufficient bounds checking · Invalid length calculations
Concurrency & state management Race conditions · Reference and usage counters · Transaction rollback · Object lifecycle management

Linux subsystems involved: io_uring · RxRPC · Netfilter / nftables · AMDGPU / debugfs · ALSA · HID / BPF · RAID5 · Netlink

Selected PoC Examples

Subsystem Scenario modeled Approach
io_uring Fixed-buffer registration involving page calculation and access beyond the intended buffer boundaries. Tracks pages of the registered buffer, pages outside the expected range, out-of-bounds accesses and corruption events. User-space simulation
RxRPC / XDR Integer wraparound during the calculation of aligned lengths (see diagram below). Controlled user-space simulation
AMDGPU Insufficient size validation during a GPR wave buffer operation. Compares the requested size with the simulated buffer capacity and records potential out-of-bounds writes. User-space simulation
Netfilter / nftables Object-lifecycle scenario with chains, catchall elements and transaction aborts, leading to a use-after-free. Tracks usage counters, rollback, chain deletion, access to released memory and potential object reuse. User-space simulation
ALSA / Scarlett2 Prepares control data intended to exercise a vulnerable driver path through the ALSA control interface. Linux subsystem interaction
HID / BPF A BPF-related return value exceeds the size of a destination buffer. Tracks returned length, buffer capacity, out-of-bounds writes and corruption indicators. User-space simulation

The ALSA PoC differs from the simulated ones by interacting with an actual Linux subsystem through the ALSA API.

RxRPC / XDR: size calculation flow

flowchart LR
    A[Large requested size] --> B[32-bit wraparound]
    B --> C[Incorrect allocation size]
    C --> D[Out-of-bounds write]
Loading

Research Workflow

flowchart LR
    A[CVE identification] --> B[Technical analysis]
    B --> C[Vulnerable mechanism identification]
    C --> D[PoC development]
    D --> E[Controlled experimentation]
    E --> F[Behavior / anomaly observation]
    F --> G[Results and limitations]
Loading

The goal is not simply to execute an exploit, but to understand why a vulnerability occurs, under which conditions it can be observed, and what security boundary may be involved.

Container Security Context

Several experiments are designed with containerized environments in mind. Where relevant, the PoCs detect common container environments and record whether an experiment runs inside or outside a container.

This supports research questions such as:

  • How do Linux kernel vulnerabilities behave from a container?
  • Which kernel interfaces are accessible from containers?
  • How does container isolation affect vulnerability exposure?
  • Can a kernel vulnerability cross a container boundary?
  • Which security mechanisms limit or prevent exploitation?

These observations are experimental and should not be interpreted as proof of container escape or host compromise unless independently demonstrated.

Repository Structure

CVE_Pocs/
├── 2023/
│   └── ...
├── CVE-2023-0461.c
├── CVE-2023-1281.c
├── CVE-2023-2598.c
├── CVE-2023-3090.c
├── CVE-2023-3106.c
├── CVE-2023-3609.c
├── CVE-2024-23307.c
├── CVE-2024-49969.c
├── CVE-2024-50282.c
├── CVE-2024-53142.c
├── CVE-2026-23078.c
├── CVE-2026-23111.c
├── CVE-2026-23172.c
├── CVE-2026-23178.c
├── CVE-2026-23351.c
├── CVE-2026-23390.c
├── CVE-2026-31401.c
└── CVE-2026-31641.c

Technologies

C Bash Linux

Security: CVE analysis · vulnerability research · memory-safety analysis · boundary-condition testing · kernel security · container security

Interfaces: io_uring · Netlink · Netfilter / nftables · ALSA · BPF · debugfs

Limitations

Warning

Detection of a simulated corruption or vulnerable condition does not by itself demonstrate successful kernel exploitation, privilege escalation or container escape.

These PoCs have different levels of fidelity. Some implementations:

  • Simulate vulnerable kernel logic in user space
  • Use simplified representations of kernel structures
  • Reproduce vulnerability conditions rather than the complete kernel execution path
  • Interact with real Linux interfaces without necessarily demonstrating successful exploitation

Results should be interpreted together with the corresponding CVE description, affected kernel versions, source-code analysis and experimental environment.

Responsible Use

These PoCs are intended for security research, vulnerability analysis, academic experimentation, defensive testing and isolated laboratory environments.

  • Only run experiments against systems you own or have explicit authorization to test.
  • For kernel-level experimentation, use isolated environments such as virtual machines or dedicated research systems.

References

For each vulnerability, consult the authoritative CVE record, vendor advisory, Linux kernel documentation and upstream security discussions where available. CVE identifiers connect each PoC with the vulnerability being investigated.

Related repository: containers_for_faas_security, the earlier work this repository continues (PoCs covering CVEs from 2016 to 2024).

Author

Lumière Minka, Software Engineer interested in cybersecurity, Linux systems, container security, cloud computing and vulnerability research.

This repository is part of my broader exploration of Linux security, container isolation and cloud/serverless security, and supports my research work at IRISA / Inria Rennes on container security for FaaS platforms.

LinkedIn GitHub

About

Proof-of-concept implementations for CVE research, vulnerability analysis, and Linux security experimentation.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages