{"id":"CVE-2024-21545","state":"PUBLISHED","title":"Proxmox Virtual Environment is an open-source server management platform for enterprise virtualization. Insufficient safeguards against malicious API response values allow authenti","description":"Proxmox Virtual Environment is an open-source server management platform for enterprise virtualization. Insufficient safeguards against malicious API response values allow authenticated attackers with 'Sys.Audit' or 'VM.Monitor' privileges to download arbitrary host files via the API.\nWhen handling the result from a request handler before returning it to the user, the handle_api2_request function will check for the ‘download’ or ‘data’->’download’ objects inside the request handler call response object. If present, handle_api2_request will read a local file defined by this object and return it to the user.\nTwo endpoints were identified which can control the object returned by a request handler sufficiently that the ’download’ object is defined and user controlled. This results in arbitrary file read.\nThe privileges of this file read can result in full compromise of the system by various impacts such as disclosing sensitive files allowing for privileged session forgery.","publishedAt":"2024-09-24T07:25:12.184Z","updatedAt":"2024-09-24T14:57:45.924Z","severity":{"score":8.2,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:N","source":"snyk"},"assigner":"snyk","products":["Proxmox pve-manager","Proxmox libpve-storage-perl","Proxmox libpve-http-server-perl","Proxmox pmg-api","Proxmox libpve-common-perl (Promox VE 8)","Proxmox libpve-common-perl (Promox Mail Gateway 8)"],"affected":[{"vendor":"Proxmox","product":"pve-manager","versions":[{"version":"0","status":"affected","lessThan":"7.4-19","versionType":"semver"},{"version":"8.0.0","status":"affected","lessThan":"8.2.7","versionType":"semver"}]},{"vendor":"Proxmox","product":"libpve-storage-perl","versions":[{"version":"0","status":"affected","lessThan":"7.4-4","versionType":"semver"},{"version":"8.0.0","status":"affected","lessThan":"8.2.5","versionType":"semver"}]},{"vendor":"Proxmox","product":"libpve-http-server-perl","versions":[{"version":"3.2-1","status":"affected","lessThan":"4.3.0","versionType":"semver"},{"version":"5.0.0","status":"affected","lessThan":"5.1.1","versionType":"semver"}]},{"vendor":"Proxmox","product":"pmg-api","versions":[{"version":"0","status":"affected","lessThan":"7.3-12","versionType":"semver"},{"version":"8.0.0","status":"affected","lessThan":"8.1.4","versionType":"semver"}]},{"vendor":"Proxmox","product":"libpve-common-perl (Promox VE 8)","versions":[{"version":"0","status":"affected","lessThan":"8.2.3","versionType":"semver"}]},{"vendor":"Proxmox","product":"libpve-common-perl (Promox Mail Gateway 8)","versions":[{"version":"0","status":"affected","lessThan":"8.2.5","versionType":"semver"}]}],"references":["https://git.proxmox.com/?p=pve-http-server.git;a=blob;f=src/PVE/APIServer/AnyEvent.pm;h=a8d60c18102d2eea9235720852fb60d90f405d0a;hb=HEAD#l988","https://forum.proxmox.com/threads/proxmox-virtual-environment-security-advisories.149331/post-705345"],"weaknesses":["CWE-73"],"ingestedAt":"2026-10-29T20:06:59.846Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2024/21xxx/CVE-2024-21545.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.1","cveMetadata":{"cveId":"CVE-2024-21545","state":"PUBLISHED","datePublished":"2024-09-24T07:25:12.184Z","dateUpdated":"2024-09-24T14:57:45.924Z","assignerShortName":"snyk","assignerOrgId":"bae035ff-b466-4ff4-94d0-fc9efd9e1730","dateReserved":"2023-12-22T12:33:20.124Z"},"containers":{"cna":{"descriptions":[{"lang":"en","value":"Proxmox Virtual Environment is an open-source server management platform for enterprise virtualization. Insufficient safeguards against malicious API response values allow authenticated attackers with 'Sys.Audit' or 'VM.Monitor' privileges to download arbitrary host files via the API.\nWhen handling the result from a request handler before returning it to the user, the handle_api2_request function will check for the ‘download’ or ‘data’->’download’ objects inside the request handler call response object. If present, handle_api2_request will read a local file defined by this object and return it to the user.\nTwo endpoints were identified which can control the object returned by a request handler sufficiently that the ’download’ object is defined and user controlled. This results in arbitrary file read.\nThe privileges of this file read can result in full compromise of the system by various impacts such as disclosing sensitive files allowing for privileged session forgery."}],"affected":[{"vendor":"Proxmox","product":"pve-manager","versions":[{"version":"0","status":"affected","lessThan":"7.4-19","versionType":"semver"},{"version":"8.0.0","status":"affected","lessThan":"8.2.7","versionType":"semver"}]},{"vendor":"Proxmox","product":"libpve-storage-perl","versions":[{"version":"0","status":"affected","lessThan":"7.4-4","versionType":"semver"},{"version":"8.0.0","status":"affected","lessThan":"8.2.5","versionType":"semver"}]},{"vendor":"Proxmox","product":"libpve-http-server-perl","versions":[{"version":"3.2-1","status":"affected","lessThan":"4.3.0","versionType":"semver"},{"version":"5.0.0","status":"affected","lessThan":"5.1.1","versionType":"semver"}]},{"vendor":"Proxmox","product":"pmg-api","versions":[{"version":"0","status":"affected","lessThan":"7.3-12","versionType":"semver"},{"version":"8.0.0","status":"affected","lessThan":"8.1.4","versionType":"semver"}]},{"vendor":"Proxmox","product":"libpve-common-perl (Promox VE 8)","versions":[{"version":"0","status":"affected","lessThan":"8.2.3","versionType":"semver"}]},{"vendor":"Proxmox","product":"libpve-common-perl (Promox Mail Gateway 8)","versions":[{"version":"0","status":"affected","lessThan":"8.2.5","versionType":"semver"}]}],"references":[{"url":"https://git.proxmox.com/?p=pve-http-server.git;a=blob;f=src/PVE/APIServer/AnyEvent.pm;h=a8d60c18102d2eea9235720852fb60d90f405d0a;hb=HEAD#l988"},{"url":"https://forum.proxmox.com/threads/proxmox-virtual-environment-security-advisories.149331/post-705345"}],"metrics":[{"cvssV3_1":{"version":"3.1","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"LOW","userInteraction":"NONE","scope":"CHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"NONE","baseScore":8.2,"baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:N"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-73","description":"External Control of File Name or Path","lang":"en"}]}],"providerMetadata":{"shortName":"snyk","orgId":"bae035ff-b466-4ff4-94d0-fc9efd9e1730","dateUpdated":"2024-09-24T07:25:12.184Z"},"credits":[{"value":"Rory McNamara (Snyk Security Research)","lang":"en"}]},"adp":[{"title":"CISA ADP Vulnrichment","affected":[{"vendor":"proxmox","product":"mail_gateway","defaultStatus":"unknown","versions":[{"version":"6.0","status":"affected","lessThan":"7.2","versionType":"semver"},{"version":"8.0","status":"affected","lessThan":"8.1-1","versionType":"semver"}],"cpes":["cpe:2.3:a:proxmox:mail_gateway:*:*:*:*:*:*:*:*"]},{"vendor":"proxmox","product":"virtual_environment","defaultStatus":"unknown","versions":[{"version":"6.0","status":"affected","lessThan":"7.3","versionType":"semver"},{"version":"8.0","status":"affected","lessThan":"8.2-2","versionType":"semver"}],"cpes":["cpe:2.3:a:proxmox:virtual_environment:*:*:*:*:*:*:*:*"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2024-09-24T13:52:32.343980Z","id":"CVE-2024-21545","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-73","type":"CWE","lang":"en","description":"CWE-73 External Control of File Name or Path"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2024-09-24T14:57:45.924Z"}}]}}}