Security Advisory

4D Unauthenticated File Disclosure

Path traversal vulnerability in the 4D caching system allows unauthenticated access to arbitary files.

Advisory ID: MLSA-2025-001
CVE: requested
CVSS: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Severity: high
Affected versions: tested on 4D 20 R7 (File Version 20.7.100.311), older versions are probably also affected.
Fixed versions: 4D 20 R8 final (build 100333), 4D 20 LTS(build 101802), 4D 20.7 LTS (build 101824)
Discovered by: Hans-Martin Münch, Frederic Linn

Product description

4D is a plattform to develop database based applications. To quote the web site:

Find out how to quickly and simply design and develop powerful business apps for the Web, the mobile as well as for macOS and Windows.

Details

When creating a connection using the 4D binary protocol, compressed resources (like “Components” or “Plugins”) are downloaded from the 4D server and stored in a local cache inside the “AppData” directory on Windows. During this update process, the 4D server sends an overview of the existing files within the cache directory, the 4D client tries to download each of these files by requesting the specific filename.

The 4D server uses the client-provided filename without further validation to create the file path for the file that should be sent to the client. By using ..\\ sequences within the filename, it is possible to download files outside of the Cache directory.

Please note that this was only tested on Windows systems, however we assume that Mac based 4D servers are also affected.

Workarounds

None

Coordinated Disclosure Timeline

  • 25/03/2025 Using the 4D contact form to request a technical contact
  • 26/03/2025 Response from 4D contact, asking for details, which will be forwarded
  • 27/03/2025 Sending details to 4D
  • 24/05/2025 Requesting update from 4D
  • 25/05/2025 Response from 4D, listing the fixed versions
  • 25/05/2025 Advisory release