HexBrain

Browse / CVEs / CVE-2026-25892

CVE-2026-25892· adminer / adminer· CWE-20

Adminer 4.6.2 - 5.4.1 Unauthenticated Persistent DoS

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

Adminer <= 5.4.1 contains a denial of service caused by lack of origin validation in version check endpoint, letting attackers trigger server errors via crafted POST requests, exploit requires no special privileges.

Impact

Attackers can cause server errors resulting in denial of service for all users.

Fix

Upgrade to Adminer 5.4.2 or later.

How to confirm it

Send: GET {{BaseURL}}/adminer.php ; GET {{BaseURL}}/editor.php ; GET {{BaseURL}}/adminer/
Positive when: contains "Adminer</title>" or "Adminer</a>" AND status 200 AND compare_versions(version, ">=4.6.2", "<=5.4.1")

Run it with nuclei: nuclei -id CVE-2026-25892 -u <target>

The full check
id: CVE-2026-25892

info:
  name: Adminer 4.6.2 - 5.4.1 Unauthenticated Persistent DoS
  author: DhiyaneshDk
  severity: high
  description: |
    Adminer <= 5.4.1 contains a denial of service caused by lack of origin validation in version check endpoint, letting attackers trigger server errors via crafted POST requests, exploit requires no special privileges.
  impact: |
    Attackers can cause server errors resulting in denial of service for all users.
  remediation: Upgrade to Adminer 5.4.2 or later.
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
    cvss-score: 7.5
    cwe-id: CWE-20
    epss-score: 0.01693
    epss-percentile: 0.77309
  reference:
    - https://github.com/vrana/adminer/security/advisories/GHSA-q4f2-39gr-45jh
    - https://github.com/vrana/adminer/commit/21d3a3150388677b18647d68aec93b7850e457d3
  metadata:
    verified: true
    max-request: 3
    vendor: adminer
    product: adminer
    fofa-query: 'title="Adminer" || body="Adminer"'
    shodan-query: 'http.title:"Adminer"'
  tags: cve,cve2026,adminer,passive

http:
  - method: GET
    path:
      - '{{BaseURL}}/adminer.php'
      - '{{BaseURL}}/editor.php'
      - '{{BaseURL}}/adminer/'

    headers:
      Accept-Language: en-US,en;q=0.5
    stop-at-first-match: true

    redirects: true

    extractors:
      - type: regex
        name: version
        part: body
        group: 1
        regex:
          - '<span class="version">([0-9.]+)'
          - 'amp;version=([0-9.]+)'

    matchers-condition: and
    matchers:
      - type: word
        words:
          - "Adminer</title>"
          - "Adminer</a>"
        condition: or

      - type: status
        status:
          - 200

      - type: dsl
        dsl:
          - 'compare_versions(version, ">=4.6.2", "<=5.4.1")'

References

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