CVE-2026-10580 (GCVE-0-2026-10580)
Vulnerability from cvelistv5 – Published: 2026-06-05 18:31 – Updated: 2026-06-06 11:47
VLAI
Title
Hippoo Mobile App for WooCommerce <= 1.9.4 - Unauthenticated Authentication Bypass to Administrator Account Takeover via REST API
Summary
The Hippoo Mobile App for WooCommerce plugin for WordPress is vulnerable to Authentication Bypass leading to Administrator Account Takeover in all versions up to and including 1.9.4. This is due to a logic conflation in HippooPermissions::get_user_permissions(), which returns the same null sentinel for both administrators and unauthenticated visitors — a value that HippooPermissions::has_role_access() unconditionally interprets as full administrator access — causing override_extension_permission_callback() to assign __return_true as the permission callback for every WordPress and WooCommerce REST route cloned under /wc-hippoo/v1/ext/ by HippooControllerWithAuth::re_register_external_routes(), while the block_unauthorized_access() pre-dispatch guard fails to block unauthenticated users for the same reason. This makes it possible for unauthenticated attackers to invoke any core REST endpoint without credentials — most critically, sending a POST request to /wc-hippoo/v1/ext/wp/v2/users/<id> with a {"password":"<new_password>"} body to reset the password of any WordPress user, including the site administrator, and gain full administrative control of the site.
Severity
9.8 (Critical)
SSVC
Exploitation: none
Automatable: yes
Technical Impact: total
CISA Coordinator (v2.0.3)
CWE
- CWE-285 - Improper Authorization
Assigner
References
9 references
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| hippooo | Hippoo Mobile App for WooCommerce |
Affected:
0 , ≤ 1.9.4
(semver)
|
Credits
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-10580",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-06-06T11:36:53.778607Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-06-06T11:47:12.846Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Hippoo Mobile App for WooCommerce",
"vendor": "hippooo",
"versions": [
{
"lessThanOrEqual": "1.9.4",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Nguyen Hung"
}
],
"descriptions": [
{
"lang": "en",
"value": "The Hippoo Mobile App for WooCommerce plugin for WordPress is vulnerable to Authentication Bypass leading to Administrator Account Takeover in all versions up to and including 1.9.4. This is due to a logic conflation in HippooPermissions::get_user_permissions(), which returns the same null sentinel for both administrators and unauthenticated visitors \u2014 a value that HippooPermissions::has_role_access() unconditionally interprets as full administrator access \u2014 causing override_extension_permission_callback() to assign __return_true as the permission callback for every WordPress and WooCommerce REST route cloned under /wc-hippoo/v1/ext/ by HippooControllerWithAuth::re_register_external_routes(), while the block_unauthorized_access() pre-dispatch guard fails to block unauthenticated users for the same reason. This makes it possible for unauthenticated attackers to invoke any core REST endpoint without credentials \u2014 most critically, sending a POST request to /wc-hippoo/v1/ext/wp/v2/users/\u003cid\u003e with a {\"password\":\"\u003cnew_password\u003e\"} body to reset the password of any WordPress user, including the site administrator, and gain full administrative control of the site."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 9.8,
"baseSeverity": "CRITICAL",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-285",
"description": "CWE-285 Improper Authorization",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-06-05T18:31:11.133Z",
"orgId": "b15e7b5b-3da4-40ae-a43c-f7aa60e62599",
"shortName": "Wordfence"
},
"references": [
{
"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/73835cfc-4c10-40d5-8df2-903d907326d4?source=cve"
},
{
"url": "https://plugins.trac.wordpress.org/browser/hippoo/tags/1.8.5/app/permissions.php#L673"
},
{
"url": "https://plugins.trac.wordpress.org/browser/hippoo/tags/1.8.5/app/permissions.php#L696"
},
{
"url": "https://plugins.trac.wordpress.org/browser/hippoo/tags/1.8.5/app/permissions.php#L622"
},
{
"url": "https://plugins.trac.wordpress.org/browser/hippoo/tags/1.8.5/app/permissions.php#L180"
},
{
"url": "https://plugins.trac.wordpress.org/browser/hippoo/tags/1.8.5/app/permissions.php#L46"
},
{
"url": "https://plugins.trac.wordpress.org/browser/hippoo/tags/1.8.5/app/web_api_auth.php#L79"
},
{
"url": "https://plugins.trac.wordpress.org/browser/hippoo/tags/1.8.5/app/web_api.php#L36"
},
{
"url": "https://plugins.trac.wordpress.org/changeset/3557733/hippoo"
}
],
"timeline": [
{
"lang": "en",
"time": "2026-06-01T18:07:42.000Z",
"value": "Vendor Notified"
},
{
"lang": "en",
"time": "2026-06-05T05:47:24.000Z",
"value": "Disclosed"
}
],
"title": "Hippoo Mobile App for WooCommerce \u003c= 1.9.4 - Unauthenticated Authentication Bypass to Administrator Account Takeover via REST API"
}
},
"cveMetadata": {
"assignerOrgId": "b15e7b5b-3da4-40ae-a43c-f7aa60e62599",
"assignerShortName": "Wordfence",
"cveId": "CVE-2026-10580",
"datePublished": "2026-06-05T18:31:11.133Z",
"dateReserved": "2026-06-01T17:52:09.019Z",
"dateUpdated": "2026-06-06T11:47:12.846Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2026-10580",
"date": "2026-06-06",
"epss": "0.00267",
"percentile": "0.50472"
},
"nvd": "{\"cve\":{\"id\":\"CVE-2026-10580\",\"sourceIdentifier\":\"security@wordfence.com\",\"published\":\"2026-06-05T19:16:28.830\",\"lastModified\":\"2026-06-05T19:20:19.607\",\"vulnStatus\":\"Deferred\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"The Hippoo Mobile App for WooCommerce plugin for WordPress is vulnerable to Authentication Bypass leading to Administrator Account Takeover in all versions up to and including 1.9.4. This is due to a logic conflation in HippooPermissions::get_user_permissions(), which returns the same null sentinel for both administrators and unauthenticated visitors \u2014 a value that HippooPermissions::has_role_access() unconditionally interprets as full administrator access \u2014 causing override_extension_permission_callback() to assign __return_true as the permission callback for every WordPress and WooCommerce REST route cloned under /wc-hippoo/v1/ext/ by HippooControllerWithAuth::re_register_external_routes(), while the block_unauthorized_access() pre-dispatch guard fails to block unauthenticated users for the same reason. This makes it possible for unauthenticated attackers to invoke any core REST endpoint without credentials \u2014 most critically, sending a POST request to /wc-hippoo/v1/ext/wp/v2/users/\u003cid\u003e with a {\\\"password\\\":\\\"\u003cnew_password\u003e\\\"} body to reset the password of any WordPress user, including the site administrator, and gain full administrative control of the site.\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"security@wordfence.com\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":9.8,\"baseSeverity\":\"CRITICAL\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":3.9,\"impactScore\":5.9}]},\"weaknesses\":[{\"source\":\"security@wordfence.com\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-285\"}]}],\"references\":[{\"url\":\"https://plugins.trac.wordpress.org/browser/hippoo/tags/1.8.5/app/permissions.php#L180\",\"source\":\"security@wordfence.com\"},{\"url\":\"https://plugins.trac.wordpress.org/browser/hippoo/tags/1.8.5/app/permissions.php#L46\",\"source\":\"security@wordfence.com\"},{\"url\":\"https://plugins.trac.wordpress.org/browser/hippoo/tags/1.8.5/app/permissions.php#L622\",\"source\":\"security@wordfence.com\"},{\"url\":\"https://plugins.trac.wordpress.org/browser/hippoo/tags/1.8.5/app/permissions.php#L673\",\"source\":\"security@wordfence.com\"},{\"url\":\"https://plugins.trac.wordpress.org/browser/hippoo/tags/1.8.5/app/permissions.php#L696\",\"source\":\"security@wordfence.com\"},{\"url\":\"https://plugins.trac.wordpress.org/browser/hippoo/tags/1.8.5/app/web_api.php#L36\",\"source\":\"security@wordfence.com\"},{\"url\":\"https://plugins.trac.wordpress.org/browser/hippoo/tags/1.8.5/app/web_api_auth.php#L79\",\"source\":\"security@wordfence.com\"},{\"url\":\"https://plugins.trac.wordpress.org/changeset/3557733/hippoo\",\"source\":\"security@wordfence.com\"},{\"url\":\"https://www.wordfence.com/threat-intel/vulnerabilities/id/73835cfc-4c10-40d5-8df2-903d907326d4?source=cve\",\"source\":\"security@wordfence.com\"}]}}",
"vulnrichment": {
"containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2026-10580\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"yes\"}, {\"Technical Impact\": \"total\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-06-06T11:36:53.778607Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-06-06T11:47:08.237Z\"}}], \"cna\": {\"title\": \"Hippoo Mobile App for WooCommerce \u003c= 1.9.4 - Unauthenticated Authentication Bypass to Administrator Account Takeover via REST API\", \"credits\": [{\"lang\": \"en\", \"type\": \"finder\", \"value\": \"Nguyen Hung\"}], \"metrics\": [{\"cvssV3_1\": {\"version\": \"3.1\", \"baseScore\": 9.8, \"baseSeverity\": \"CRITICAL\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H\"}}], \"affected\": [{\"vendor\": \"hippooo\", \"product\": \"Hippoo Mobile App for WooCommerce\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"1.9.4\"}], \"defaultStatus\": \"unaffected\"}], \"timeline\": [{\"lang\": \"en\", \"time\": \"2026-06-01T18:07:42.000Z\", \"value\": \"Vendor Notified\"}, {\"lang\": \"en\", \"time\": \"2026-06-05T05:47:24.000Z\", \"value\": \"Disclosed\"}], \"references\": [{\"url\": \"https://www.wordfence.com/threat-intel/vulnerabilities/id/73835cfc-4c10-40d5-8df2-903d907326d4?source=cve\"}, {\"url\": \"https://plugins.trac.wordpress.org/browser/hippoo/tags/1.8.5/app/permissions.php#L673\"}, {\"url\": \"https://plugins.trac.wordpress.org/browser/hippoo/tags/1.8.5/app/permissions.php#L696\"}, {\"url\": \"https://plugins.trac.wordpress.org/browser/hippoo/tags/1.8.5/app/permissions.php#L622\"}, {\"url\": \"https://plugins.trac.wordpress.org/browser/hippoo/tags/1.8.5/app/permissions.php#L180\"}, {\"url\": \"https://plugins.trac.wordpress.org/browser/hippoo/tags/1.8.5/app/permissions.php#L46\"}, {\"url\": \"https://plugins.trac.wordpress.org/browser/hippoo/tags/1.8.5/app/web_api_auth.php#L79\"}, {\"url\": \"https://plugins.trac.wordpress.org/browser/hippoo/tags/1.8.5/app/web_api.php#L36\"}, {\"url\": \"https://plugins.trac.wordpress.org/changeset/3557733/hippoo\"}], \"descriptions\": [{\"lang\": \"en\", \"value\": \"The Hippoo Mobile App for WooCommerce plugin for WordPress is vulnerable to Authentication Bypass leading to Administrator Account Takeover in all versions up to and including 1.9.4. This is due to a logic conflation in HippooPermissions::get_user_permissions(), which returns the same null sentinel for both administrators and unauthenticated visitors \\u2014 a value that HippooPermissions::has_role_access() unconditionally interprets as full administrator access \\u2014 causing override_extension_permission_callback() to assign __return_true as the permission callback for every WordPress and WooCommerce REST route cloned under /wc-hippoo/v1/ext/ by HippooControllerWithAuth::re_register_external_routes(), while the block_unauthorized_access() pre-dispatch guard fails to block unauthenticated users for the same reason. This makes it possible for unauthenticated attackers to invoke any core REST endpoint without credentials \\u2014 most critically, sending a POST request to /wc-hippoo/v1/ext/wp/v2/users/\u003cid\u003e with a {\\\"password\\\":\\\"\u003cnew_password\u003e\\\"} body to reset the password of any WordPress user, including the site administrator, and gain full administrative control of the site.\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-285\", \"description\": \"CWE-285 Improper Authorization\"}]}], \"providerMetadata\": {\"orgId\": \"b15e7b5b-3da4-40ae-a43c-f7aa60e62599\", \"shortName\": \"Wordfence\", \"dateUpdated\": \"2026-06-05T18:31:11.133Z\"}}}",
"cveMetadata": "{\"cveId\": \"CVE-2026-10580\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-06-06T11:47:12.846Z\", \"dateReserved\": \"2026-06-01T17:52:09.019Z\", \"assignerOrgId\": \"b15e7b5b-3da4-40ae-a43c-f7aa60e62599\", \"datePublished\": \"2026-06-05T18:31:11.133Z\", \"assignerShortName\": \"Wordfence\"}",
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
}
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…