
PEACH
Un cadre d’isolation des locataires
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.
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.
File: potato/server_utils/config_module.py
validate_file_paths task_dir branch (line 2113)validated_task_dir = validate_path_security(task_dir, project_dir)validate_file_paths data_files branch (line 2151)validated_path = validate_path_security(file_path, base_dir, project_dir)validate_training_config training.data_file branch (line 2286)validated_path = validate_path_security(data_file, base_dir, project_dir)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))data_files, training.data_file, base_css, header_logo) and output/path placement depending on configuration.Source: NVD
Évaluation gratuite des vulnérabilités
É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.
Obtenez une démo personnalisée
"La meilleure expérience utilisateur que j’ai jamais vue, offre une visibilité totale sur les workloads cloud."
"Wiz fournit une interface unique pour voir ce qui se passe dans nos environnements cloud."
"Nous savons que si Wiz identifie quelque chose comme critique, c’est qu’il l’est réellement."