diff --git a/netscaler/cve-2025-7775/Dockerfile b/netscaler/cve-2025-7775/Dockerfile new file mode 100644 index 00000000..2cb24dd1 --- /dev/null +++ b/netscaler/cve-2025-7775/Dockerfile @@ -0,0 +1,13 @@ +FROM ubuntu:22.04 + +RUN apt-get update + +RUN mkdir -p /testdata + +# Set working directory +WORKDIR /testdata + +# Copy vulnerable file into the container +COPY vulnerable.vmdk /testdata/vulnerable.vmdk + +CMD ["/bin/bash"] diff --git a/netscaler/cve-2025-7775/README.md b/netscaler/cve-2025-7775/README.md new file mode 100644 index 00000000..0622a084 --- /dev/null +++ b/netscaler/cve-2025-7775/README.md @@ -0,0 +1,26 @@ +# OSV-Scalibr: CVE-2025-7775 Detector + +This directory contains a test Dockerfile for validating OSV-Scalibr's CVE-2025-7775 detector plugin. + +## Setup + +### Build the Docker Image + +```bash +cd security-testbeds/netscaler/cve-2025-7775 +docker build -t cve-2025-7775 . +``` + +### Run the Container + +```bash +docker run -it --rm cve-2025-7775 /bin/bash +``` + +### Running OSV-Scalibr + +Build or copy the `scalibr` binary to the current directory, and inside the container, run `scalibr` with the CVE-2025-7775 detector: + +```bash +./scalibr --detectors=cve/cve-2025-7775 --extractors=embeddedfs/vmdk --result=output.textproto vulnerable.vmdk +``` diff --git a/netscaler/cve-2025-7775/gentestdata.sh b/netscaler/cve-2025-7775/gentestdata.sh new file mode 100644 index 00000000..9cc84cc0 --- /dev/null +++ b/netscaler/cve-2025-7775/gentestdata.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +dd if=/dev/zero of=valid.img bs=1M count=5 +parted -s --align optimal valid.img --script mklabel gpt +parted -s --align optimal valid.img --script mkpart primary 0% 100% +sudo losetup -fP valid.img +LOOPDEV=$(losetup -j valid.img | cut -d: -f1) +PARTITION1="${LOOPDEV}p1" +sudo mkfs.ext4 $PARTITION1 +sudo rm -rf /mnt/valid +sudo mkdir /mnt/valid +sudo mount ${PARTITION1} /mnt/valid +sudo mkdir -p /mnt/valid/flash/boot/ +sudo mkdir -p /mnt/valid/nsconfig/ +sudo mkdir -p /mnt/valid/netscaler/ +sudo cp loader.conf /mnt/valid/flash/boot/ +sudo cp ns-14.1-46.50.gz /mnt/valid/flash/boot/ +sudo cp ns.conf /mnt/valid/nsconfig/ +sudo cp nsversion /mnt/valid/netscaler/ +sudo umount /mnt/valid +sudo losetup -d ${LOOPDEV} +sudo rm -rf /mnt/valid *.vmdk +qemu-img convert valid.img -O vmdk valid.vmdk diff --git a/netscaler/cve-2025-7775/vulnerable.vmdk b/netscaler/cve-2025-7775/vulnerable.vmdk new file mode 100644 index 00000000..237d3d3d Binary files /dev/null and b/netscaler/cve-2025-7775/vulnerable.vmdk differ