Index: /trunk/src/VBox/HostDrivers/Support/SUPLibInternal.h
===================================================================
--- /trunk/src/VBox/HostDrivers/Support/SUPLibInternal.h	(revision 59809)
+++ /trunk/src/VBox/HostDrivers/Support/SUPLibInternal.h	(revision 59810)
@@ -452,5 +452,5 @@
 DECLHIDDEN(void)    supR3HardenedWinInit(uint32_t fFlags, bool fAvastKludge);
 DECLHIDDEN(void)    supR3HardenedWinInitAppBin(uint32_t fFlags);
-DECLHIDDEN(void)    supR3HardenedWinInitVersion(void);
+DECLHIDDEN(void)    supR3HardenedWinInitVersion(bool fEarlyInit);
 DECLHIDDEN(void)    supR3HardenedWinInitImports(void);
 DECLHIDDEN(void)    supR3HardenedWinModifyDllSearchPath(uint32_t fFlags, const char *pszAppBinPath);
Index: /trunk/src/VBox/HostDrivers/Support/win/SUPHardenedVerifyImage-win.cpp
===================================================================
--- /trunk/src/VBox/HostDrivers/Support/win/SUPHardenedVerifyImage-win.cpp	(revision 59809)
+++ /trunk/src/VBox/HostDrivers/Support/win/SUPHardenedVerifyImage-win.cpp	(revision 59810)
@@ -2772,5 +2772,5 @@
  * Called from suplibHardenedWindowsMain and suplibOsInit.
  */
-DECLHIDDEN(void) supR3HardenedWinInitVersion(void)
+DECLHIDDEN(void) supR3HardenedWinInitVersion(bool fEarly)
 {
     /*
@@ -2778,4 +2778,7 @@
      * GetVersion might not be telling the whole truth (8.0 on 8.1 depending on
      * the application manifest).
+     *
+     * Note! Windows 10 build 14267+ touches BSS when calling RtlGetVersion, so we
+     *       have to use the fallback for the call from the early init code.
      */
     OSVERSIONINFOEXW NtVerInfo;
@@ -2783,5 +2786,6 @@
     RT_ZERO(NtVerInfo);
     NtVerInfo.dwOSVersionInfoSize = sizeof(RTL_OSVERSIONINFOEXW);
-    if (!NT_SUCCESS(RtlGetVersion((PRTL_OSVERSIONINFOW)&NtVerInfo)))
+    if (   fEarly
+        || !NT_SUCCESS(RtlGetVersion((PRTL_OSVERSIONINFOW)&NtVerInfo)))
     {
         RT_ZERO(NtVerInfo);
@@ -2789,5 +2793,5 @@
         NtVerInfo.dwMajorVersion = pPeb->OSMajorVersion;
         NtVerInfo.dwMinorVersion = pPeb->OSMinorVersion;
-        NtVerInfo.dwBuildNumber  = pPeb->OSPlatformId;
+        NtVerInfo.dwBuildNumber  = pPeb->OSBuildNumber;
     }
 
Index: /trunk/src/VBox/HostDrivers/Support/win/SUPLib-win.cpp
===================================================================
--- /trunk/src/VBox/HostDrivers/Support/win/SUPLib-win.cpp	(revision 59809)
+++ /trunk/src/VBox/HostDrivers/Support/win/SUPLib-win.cpp	(revision 59810)
@@ -93,5 +93,5 @@
     {
 #if defined(VBOX_WITH_HARDENING) && !defined(IN_SUP_HARDENED_R3) && !defined(IN_SUP_R3_STATIC)
-        supR3HardenedWinInitVersion();
+        supR3HardenedWinInitVersion(false /*fEarly*/);
         int rc = supHardenedWinInitImageVerifier(NULL);
         if (RT_FAILURE(rc))
Index: /trunk/src/VBox/HostDrivers/Support/win/SUPR3HardenedMain-win.cpp
===================================================================
--- /trunk/src/VBox/HostDrivers/Support/win/SUPR3HardenedMain-win.cpp	(revision 59809)
+++ /trunk/src/VBox/HostDrivers/Support/win/SUPR3HardenedMain-win.cpp	(revision 59810)
@@ -5480,5 +5480,5 @@
      * SUPHardenedVerfiyImage-win.cpp.)
      */
-    supR3HardenedWinInitVersion();
+    supR3HardenedWinInitVersion(false /*fEarly*/);
     g_enmSupR3HardenedMainState = SUPR3HARDENEDMAINSTATE_WIN_VERSION_INITIALIZED;
 
@@ -5704,5 +5704,5 @@
      * Init g_uNtVerCombined as well as we can at this point.
      */
-    supR3HardenedWinInitVersion();
+    supR3HardenedWinInitVersion(true /*fEarly*/);
 
     /*
@@ -5719,5 +5719,5 @@
     char **papszArgs = suplibCommandLineToArgvWStub(CmdLineStr.Buffer, CmdLineStr.Length / sizeof(WCHAR), &cArgs);
     supR3HardenedOpenLog(&cArgs, papszArgs);
-    SUP_DPRINTF(("supR3HardenedVmProcessInit: uNtDllAddr=%p\n", uNtDllAddr));
+    SUP_DPRINTF(("supR3HardenedVmProcessInit: uNtDllAddr=%p g_uNtVerCombined=%#x\n", uNtDllAddr, g_uNtVerCombined));
 
     /*
