5692 Total CVEs
26 Years
GitHub
README.md
Rendering markdown...
POC / docker-compose.yml YML
name: cve-2026-49060-hippoo-lab

services:
  db-vuln:
    image: mariadb:10.11
    container_name: cve-2026-49060-db-vuln
    environment:
      MARIADB_DATABASE: wordpress
      MARIADB_USER: wordpress
      MARIADB_PASSWORD: wordpress
      MARIADB_ROOT_PASSWORD: rootpass
    volumes:
      - db-vuln:/var/lib/mysql
    networks:
      - lab
    healthcheck:
      test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
      interval: 5s
      timeout: 5s
      retries: 30

  db-patched:
    image: mariadb:10.11
    container_name: cve-2026-49060-db-patched
    environment:
      MARIADB_DATABASE: wordpress
      MARIADB_USER: wordpress
      MARIADB_PASSWORD: wordpress
      MARIADB_ROOT_PASSWORD: rootpass
    volumes:
      - db-patched:/var/lib/mysql
    networks:
      - lab
    healthcheck:
      test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
      interval: 5s
      timeout: 5s
      retries: 30

  vuln:
    build:
      context: ./vuln
      args:
        HIPPOO_VERSION: "1.9.4"
        WOOCOMMERCE_VERSION: "9.9.5"
    image: cve-2026-49060-vuln:1.9.4
    container_name: cve-2026-49060-vuln
    depends_on:
      db-vuln:
        condition: service_healthy
    environment:
      WORDPRESS_DB_HOST: db-vuln:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DEBUG: "1"
    volumes:
      - wp-vuln:/var/www/html
    ports:
      - "8081:80"
    networks:
      - lab
    healthcheck:
      test: ["CMD-SHELL", "test -f /var/www/html/.cve-2026-49060-ready"]
      interval: 5s
      timeout: 3s
      retries: 120

  patched:
    build:
      context: ./patched
      args:
        HIPPOO_VERSION: "1.9.5"
        WOOCOMMERCE_VERSION: "9.9.5"
    image: cve-2026-49060-patched:1.9.5
    container_name: cve-2026-49060-patched
    depends_on:
      db-patched:
        condition: service_healthy
    environment:
      WORDPRESS_DB_HOST: db-patched:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DEBUG: "1"
    volumes:
      - wp-patched:/var/www/html
    ports:
      - "8082:80"
    networks:
      - lab
    healthcheck:
      test: ["CMD-SHELL", "test -f /var/www/html/.cve-2026-49060-ready"]
      interval: 5s
      timeout: 3s
      retries: 120

  init-vuln:
    image: cve-2026-49060-vuln:1.9.4
    container_name: cve-2026-49060-init-vuln
    depends_on:
      db-vuln:
        condition: service_healthy
      vuln:
        condition: service_started
    environment:
      WORDPRESS_DB_HOST: db-vuln:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wp-vuln:/var/www/html
    networks:
      - lab
    entrypoint: []
    command:
      - bash
      - -c
      - |
          set -euo pipefail

          echo "[init-vuln] waiting for WordPress files"
          until [ -f /var/www/html/wp-load.php ]; do
            sleep 2
          done

          echo "[init-vuln] waiting for database"
          until wp db check --allow-root --path=/var/www/html; do
            sleep 2
          done

          if ! wp core is-installed --allow-root --path=/var/www/html; then
            echo "[init-vuln] installing WordPress core"
            wp core install \
              --allow-root \
              --path=/var/www/html \
              --url="http://localhost:8081" \
              --title="CVE-2026-49060 Hippoo vulnerable" \
              --admin_user="admin" \
              --admin_password="AdminPass123!" \
              --admin_email="[email protected]" \
              --skip-email
          else
            echo "[init-vuln] WordPress already installed"
          fi

          echo "[init-vuln] activating WooCommerce"
          wp plugin activate woocommerce --allow-root --path=/var/www/html

          echo "[init-vuln] activating Hippoo"
          wp plugin activate hippoo --allow-root --path=/var/www/html

          echo "[init-vuln] disabling WooCommerce tracking"
          wp option update woocommerce_allow_tracking no --allow-root --path=/var/www/html

          echo "[init-vuln] verifying active plugins"
          wp plugin list --allow-root --path=/var/www/html --status=active

          echo "[init-vuln] verifying admin user"
          wp user get admin --field=user_login --allow-root --path=/var/www/html

          echo "[init-vuln] creating readiness marker"
          touch /var/www/html/.cve-2026-49060-ready

          echo "[init-vuln] READY: http://localhost:8081 admin/AdminPass123! Hippoo 1.9.4"

          tail -f /dev/null

  init-patched:
    image: cve-2026-49060-patched:1.9.5
    container_name: cve-2026-49060-init-patched
    depends_on:
      db-patched:
        condition: service_healthy
      patched:
        condition: service_started
    environment:
      WORDPRESS_DB_HOST: db-patched:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wp-patched:/var/www/html
    networks:
      - lab
    entrypoint: []
    command:
      - bash
      - -c
      - |
          set -euo pipefail

          echo "[init-patched] waiting for WordPress files"
          until [ -f /var/www/html/wp-load.php ]; do
            sleep 2
          done

          echo "[init-patched] waiting for database"
          until wp db check --allow-root --path=/var/www/html; do
            sleep 2
          done

          if ! wp core is-installed --allow-root --path=/var/www/html; then
            echo "[init-patched] installing WordPress core"
            wp core install \
              --allow-root \
              --path=/var/www/html \
              --url="http://localhost:8082" \
              --title="CVE-2026-49060 Hippoo patched" \
              --admin_user="admin" \
              --admin_password="AdminPass123!" \
              --admin_email="[email protected]" \
              --skip-email
          else
            echo "[init-patched] WordPress already installed"
          fi

          echo "[init-patched] activating WooCommerce"
          wp plugin activate woocommerce --allow-root --path=/var/www/html

          echo "[init-patched] activating Hippoo"
          wp plugin activate hippoo --allow-root --path=/var/www/html

          echo "[init-patched] disabling WooCommerce tracking"
          wp option update woocommerce_allow_tracking no --allow-root --path=/var/www/html

          echo "[init-patched] verifying active plugins"
          wp plugin list --allow-root --path=/var/www/html --status=active

          echo "[init-patched] verifying admin user"
          wp user get admin --field=user_login --allow-root --path=/var/www/html

          echo "[init-patched] creating readiness marker"
          touch /var/www/html/.cve-2026-49060-ready

          echo "[init-patched] READY: http://localhost:8082 admin/AdminPass123! Hippoo 1.9.5"

          tail -f /dev/null

networks:
  lab:
    name: cve-2026-49060-lab

volumes:
  db-vuln:
  db-patched:
  wp-vuln:
  wp-patched: