On the clock Escaping VMware Workstation at Pwn2Own Berlin 2... #1801
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🤖 Automated Content Update
This PR was automatically generated by the HackTricks News Bot based on a technical blog post.
📝 Source Information
🎯 Content Summary
Post context / target
Synacktiv details a guest-to-host escape exploit demonstrated at Pwn2Own Berlin 2025 against VMware Workstation. The bug is in the guest device emulation process
vmware-vmx(tested on a Windows 11 host) and is a single heap overflow in the PVSCSI (Paravirtualized SCSI) controller: CVE-2025-41238 (VMSA-2025-0013). The exploitation complexity is dominated by the fact that the vulnerable allocations are forced into the Win...🔧 Technical Details
Device-emulation heap overflow via fixed-size realloc (CVE-2025-41238): When a guest supplies >512 PVSCSI scatter/gather entries, VMware switches from a 512-entry static buffer (0x2000) to heap allocations and then reallocates on every iteration. Because the realloc size is always
0x4000instead of growing, supplying >1024 entries causes 16-byte out-of-bounds writes past the end of the newly allocated 0x4000 buffer at each iteration. The guest controlsaddrandlength, but because a 32-bit length is zero-extended to 64 bits, the last 4 bytes of each 16-byte overwritten element are always 0.LFH Ping-Pong determinism using “Last Freed bucket first”: On Windows 11 LFH, 0x4000 allocations fall into buckets of 16 chunks with 16-byte metadata headers protected by secret-key checksums. To avoid crashing on checksum validation, corrupt a chunk header that will never be reallocated/freed. Achieve deterministic alternating allo...
🤖 Agent Actions
Summary:
Testing:
This PR was automatically created by the HackTricks Feed Bot. Please review the changes carefully before merging.
📚 Repository Maintenance
All .md files have been checked for proper formatting (headers, includes, etc.).