GHSA-q9m2-fhv9-3jcf
Python Analyse et atténuation des vulnérabilités

Summary

validate_path_security uses string-prefix containment (startswith) for boundary checks. This allows paths that are outside the intended project directory but share its prefix string (e.g., /tmp/potato_proj_demo_evil/... vs /tmp/potato_proj_demo) to be accepted.

Details

Affected source location (root cause)

File: potato/server_utils/config_module.py Snippet (lines 370–373):

real_path = os.path.realpath(normalized_path)
real_base = os.path.realpath(base_dir)
if not real_path.startswith(real_base):
    raise ConfigSecurityError(...)

Snippet (lines 384–389):

real_path = os.path.realpath(normalized_path)
check_dir = project_dir if project_dir else base_dir
real_check_dir = os.path.realpath(check_dir)
if not real_path.startswith(real_check_dir):
    raise ConfigSecurityError(...)

startswith() is string-based, so /tmp/potato_proj_demo_evil/... passes when checked against /tmp/potato_proj_demo.

Confirmed affected call sites

File: potato/server_utils/config_module.py

  1. validate_file_paths task_dir branch (line 2113)
validated_task_dir = validate_path_security(task_dir, project_dir)
  1. validate_file_paths data_files branch (line 2151)
validated_path = validate_path_security(file_path, base_dir, project_dir)
  1. validate_training_config training.data_file branch (line 2286)
validated_path = validate_path_security(data_file, base_dir, project_dir)

PoC

from potato.server_utils.config_module import validate_path_security
base = '/tmp/potato_proj_demo'
vuln = '/tmp/potato_proj_demo_evil/file.txt'
try:
    print('inside=', validate_path_security('/tmp/potato_proj_demo/file.txt', base, base))
except Exception as e:
    print('inside_error=', type(e).__name__, e)
try:
    validate_path_security('/tmp/other_demo/file.txt', base, base)
except Exception as e:
    print('baseline=', type(e).__name__, e)
print('trigger=', validate_path_security(vuln, base, base))

Impact

  • Can allow unauthorized sibling-prefix file access outside intended project boundary.
  • Can affect read paths (data_files, training.data_file, base_css, header_logo) and output/path placement depending on configuration.

SourceNVD

Apparenté Python Vulnérabilités:

Identifiant CVE

Sévérité

Score

Technologies

Nom du composant

Exploit CISA KEV

A corrigé

Date de publication

CVE-2026-44334HIGH8.4
  • PythonPython
  • praisonai
NonOuiMay 08, 2026
GHSA-52cq-7v8r-62c6HIGH8.3
  • PythonPython
  • gmaps-mcp
NonOuiMay 08, 2026
CVE-2026-44335HIGH7.7
  • PythonPython
  • praisonaiagents
NonOuiMay 08, 2026
GHSA-q9m2-fhv9-3jcfMEDIUM5.1
  • PythonPython
  • potato-annotation
NonOuiMay 08, 2026
GHSA-r8cj-3554-33mrLOWN/A
  • PythonPython
  • justhtml
NonOuiMay 08, 2026

Évaluation gratuite des vulnérabilités

Évaluez votre posture de sécurité dans le cloud

Évaluez vos pratiques de sécurité cloud dans 9 domaines de sécurité pour évaluer votre niveau de risque et identifier les failles dans vos défenses.

Demander une évaluation

Obtenez une démo personnalisée

Prêt(e) à voir Wiz en action ?

"La meilleure expérience utilisateur que j’ai jamais vue, offre une visibilité totale sur les workloads cloud."
David EstlickRSSI
"Wiz fournit une interface unique pour voir ce qui se passe dans nos environnements cloud."
Adam FletcherChef du service de sécurité
"Nous savons que si Wiz identifie quelque chose comme critique, c’est qu’il l’est réellement."
Greg PoniatowskiResponsable de la gestion des menaces et des vulnérabilités