pgAdmin 4: Symbolic-link path traversal in File Manager allows arbitrary file write (pgadmin.org pgAdmin 4)

CVE-2026-7819
HIGH 7.2

En bref

Source
NVD
EPSS
EPSS 0.33 % · centile 26 ()
État
PUBLISHED
Publiée
Mise à jour
Attribuée par
PostgreSQL
Statut NVD
Analyzed

Description

Symbolic-link path traversal (CWE-61, CWE-22) in pgAdmin 4 File Manager. check_access_permission used os.path.abspath, which resolves '..' but does not resolve symbolic links, while the subsequent kernel write follows symlinks. An authenticated user could plant a symbolic link inside their own storage directory pointing outside it and induce pgAdmin to write to any path reachable by the pgAdmin process. Fix switches the access check to os.path.realpath for both source and destination, and adds an _open_upload_target helper that opens the target with O_NOFOLLOW (mode 0o600) to close the leaf-component TOCTOU between the access check and the open. File mode is hardened from 0o644 to 0o600. This issue affects pgAdmin 4: before 9.15.

Faiblesses (CWE)

  • CWE-61 — UNIX Symbolic Link (Symlink) Following

Références

Scores

VersionScoreVecteurÉvalué par
CVSS 3.1HIGH 8.1CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:HPostgreSQL
CVSS 4.0HIGH 7.2CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:NPostgreSQL
CVSS 4.0HIGH 7.2CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XNVD · f86ef6dc-4d3a-42ad-8f28-e6d5547a5007 (Secondary)
CVSS 3.1HIGH 8.1CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:HNVD · f86ef6dc-4d3a-42ad-8f28-e6d5547a5007 (Secondary)

Avis

Références européennes

Configurations affectées (CPE NVD)

Produits affectés

ProduitVersions
pgadmin.org · pgAdmin 4affected 0 < 9.15

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD