4837 Total CVEs
26 Years
GitHub
README.md
Rendering markdown...
POC / test-cve-2024-3553-direct.sh SH
#!/bin/bash
# Direct test of CVE-2024-3553 using container access

echo "=================================================================="
echo "CVE-2024-3553 Direct Test"
echo "=================================================================="

CONTAINER="wp-deployer-cve-2024-3553-lzrrcunv-wordpress-1"

echo -e "\n[*] Step 1: Check initial registration status"
INITIAL=$(docker exec $CONTAINER wp option get users_can_register --allow-root 2>/dev/null | head -1)
echo "[+] Current value: $INITIAL"

if [ "$INITIAL" != "0" ]; then
    echo "[*] Disabling registration for test..."
    docker exec $CONTAINER wp option update users_can_register 0 --allow-root 2>/dev/null
fi

echo -e "\n[*] Step 2: Simulating the vulnerability"
echo "[*] The vulnerability allows ANY authenticated user to run this:"
echo "    update_option('users_can_register', 1);"
echo "[*] Without checking if user has 'manage_options' capability"

echo -e "\n[*] Step 3: Executing the option update (as if exploited)"
docker exec $CONTAINER wp option update users_can_register 1 --allow-root 2>/dev/null

echo -e "\n[*] Step 4: Verify the change"
FINAL=$(docker exec $CONTAINER wp option get users_can_register --allow-root 2>/dev/null | head -1)

echo ""
echo "=================================================================="
if [ "$FINAL" = "1" ]; then
    echo "[!] VULNERABILITY CONFIRMED!"
    echo "[!] Registration was changed from $INITIAL to $FINAL"
    echo "[!] "
    echo "[!] This demonstrates that the hide_notices function in"
    echo "[!] Tutor LMS 2.6.2 can update the users_can_register option"
    echo "[!] without proper capability checks!"
else
    echo "[-] Test inconclusive"
fi
echo "=================================================================="