Description
PassMark PerformanceTest before 11.1 build 1012, BurnInTest before 11.1 build 1000, and OSForensics before 11.1 build 1016 contain an unauthenticated physical memory disclosure in DirectIo64.sys, reachable by unprivileged local users through a single IOCTL with no caller-identity check. The handler writes a crash-dump-format (PAGEDU64) image of all physical memory to a caller-supplied file path in the SYSTEM context, allowing a standard user to create files in locations they cannot otherwise write and to recover memory belonging to processes of other users. The image is preceded by a header that exposes the kernel loaded-module list, active-process list and PFN database pointers, defeating KASLR. The same handler also dereferences the return value of an internal kernel-structure locator without a NULL check; that locator returns NULL on three distinct failure paths, and a kernel crash results on builds where any of those paths is taken.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
PassMark Software PerformanceTest
Default version status: affected
0 to < 11.1 build 1012affected
PassMark Software BurnInTest
Default version status: affected
0 to < 11.1 build 1000affected
PassMark Software OSForensics
Default version status: affected
0 to < 11.1 build 1016affected
References
- https://github.com/floppywiggler/directio64-disclosure ↗
- https://www.passmark.com/products/performancetest/history.php ↗
- https://www.passmark.com/products/burnintest/history.php ↗
- https://www.osforensics.com/whats-new.html ↗
- https://dkom.dev/posts/directio64-disclosure/ ↗
- https://www.vulncheck.com/advisories/passmark-performancetest-burnintest-and-osforensics-kernel-null-pointer-dereference-via-directio64-sys-ioctl ↗