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
MUT-BC-SS-01 — Mutation testing on X.509 Certificate Validation IN OpenSSL v.1.1.1h, based on CVE-2021-3450. | Kitploit
Tools/GitHubGitHub/dedellix/mut-bc-ss-01
Vulnerability AnalysisCode AnalysisFuzzingCryptographyPapers & ResearchLearning & Education
GitHubdedellix/mut-bc-ss-01

MUT-BC-SS-01

Mutation testing on X.509 Certificate Validation IN OpenSSL v.1.1.1h, based on CVE-2021-3450.

View Repository
1 month 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

MUT-BC-SS-01: Mutation Testing of X.509 BasicConstraints in OpenSSL

Overview

This repository implements a specification-driven mutation testing experiment targeting X.509 certificate validation behavior in OpenSSL.

The experiment is based on the mutation operator:

MUT-BC-SS-01

which modifies the BasicConstraints extension:

root@kitploit:~
CA:TRUE → CA:FALSE

The objective is to evaluate whether certificate validation correctly enforces RFC 5280 requirements and to investigate behavior related to the vulnerability class represented by CVE-2021-3450.


Repository Structure

root@kitploit:~
MUT-BC-SS-01/
│
│
├── configs/
│   ├── ca.cnf
│   └── leaf.cnf
│
├── src/
│   └── poc.c
|   └── poc_fixed.c
│
├── check_prerequisites.sh
├── install_openssl111h.sh
├── environment.sh
├── generate_certs.sh
├── build.sh
├── run.sh
├── build_version3.sh
├── run_version3.sh
│
│
└── README.md

Experiment Description

The experiment creates the following certificate chain:

root@kitploit:~
Root CA (CA:TRUE)
        │
        ▼
Mutant Intermediate (CA:FALSE)
        │
        ▼
Subleaf Certificate

The mutant certificate is intentionally configured with:

root@kitploit:~
basicConstraints = CA:FALSE

while still being used to sign another certificate.

The validation harness evaluates whether OpenSSL correctly rejects this invalid chain.


System Requirements

The experiment was tested on Linux systems using:

  • GCC
  • GNU Make
  • Perl
  • OpenSSL source build tools

Quick Start

1. Clone Repository

root@kitploit:~
git clone https://github.com/dedellix/MUT-BC-SS-01.git
cd MUT-BC-SS-01

2. Make Scripts Executable

root@kitploit:~
chmod +x *.sh

3. Check and Install Prerequisites

root@kitploit:~
./check_prerequisites.sh

This script checks for required packages and installs any missing dependencies automatically.

Required packages include:

  • build-essential
  • gcc
  • g++
  • make
  • perl
  • wget
  • curl
  • git
  • tar
  • gzip
  • zlib1g-dev
  • libssl-dev

4. Install OpenSSL 1.1.1h

root@kitploit:~
./install_openssl111h.sh

This downloads, builds, and installs OpenSSL 1.1.1h locally under:

root@kitploit:~
$HOME/openssl-1.1.1h-install

No system OpenSSL files are modified.

5. Configure Environment

root@kitploit:~
./environment.sh

This configures:

root@kitploit:~
LD_LIBRARY_PATH

and verifies that the correct OpenSSL libraries are loaded.

6. Generate Certificates

root@kitploit:~
./generate_certs.sh

This generates:

  • Root CA
  • Mutant intermediate certificate
  • Subleaf certificate

and stores them in:

root@kitploit:~
certs/

7. Build the Proof-of-Concept

root@kitploit:~
./build.sh
./build_version3.sh

This compiles:

root@kitploit:~
src/poc.c

and produces:

root@kitploit:~
./poc

in the project root directory.

8. Run the Experiment

root@kitploit:~
./run.sh
./run_version3.sh

or directly:

root@kitploit:~
./poc

Rebuilding from Scratch

To completely remove generated artifacts:

root@kitploit:~
rm -rf certs
rm -f poc

To remove the local OpenSSL installation:

root@kitploit:~
rm -rf $HOME/openssl-1.1.1h-install
rm -rf tls-test

To clear environment variables:

root@kitploit:~
unset LD_LIBRARY_PATH
unset OPENSSL111H
Download Tool