]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-46948: Fix CVE-2022-26488 by ensuring the Windows Installer correctly uses the...
authorSteve Dower <steve.dower@python.org>
Tue, 8 Mar 2022 09:04:24 +0000 (09:04 +0000)
committerGitHub <noreply@github.com>
Tue, 8 Mar 2022 09:04:24 +0000 (10:04 +0100)
Misc/NEWS.d/next/Windows/2022-03-07-16-34-11.bpo-46948.Ufd4tG.rst [new file with mode: 0644]
Tools/msi/bundle/bundle.wxs
Tools/msi/common.wxs
Tools/msi/dev/dev.wxs
Tools/msi/doc/doc.wxs
Tools/msi/lib/lib.wxs
Tools/msi/path/path.wxs
Tools/msi/tcltk/tcltk.wxs
Tools/msi/test/test.wxs
Tools/msi/tools/tools.wxs
Tools/msi/ucrt/ucrt.wxs

diff --git a/Misc/NEWS.d/next/Windows/2022-03-07-16-34-11.bpo-46948.Ufd4tG.rst b/Misc/NEWS.d/next/Windows/2022-03-07-16-34-11.bpo-46948.Ufd4tG.rst
new file mode 100644 (file)
index 0000000..cfc4827
--- /dev/null
@@ -0,0 +1,2 @@
+Prevent CVE-2022-26488 by ensuring the Add to PATH option in the Windows
+installer uses the correct path when being repaired.
index ddd6870f62552648a48954c26d9c29acde8cd255..12f2a46c8c7e9925d5a9d5b76772ae79ec7468f9 100644 (file)
@@ -95,8 +95,8 @@
     <Chain ParallelCache="yes">
       <PackageGroupRef Id="crt" />
       <PackageGroupRef Id="core" />
-      <PackageGroupRef Id="dev" />
       <PackageGroupRef Id="exe" />
+      <PackageGroupRef Id="dev" />
       <PackageGroupRef Id="lib" />
       <PackageGroupRef Id="test" />
       <PackageGroupRef Id="doc" />
index 398d94a24d554f8327ab0f5805f5b2877423c297..d8f3cde99ab52a4263beeeddf11ee0b609c09734 100644 (file)
     </Fragment>
     
     <Fragment>
-    <?ifdef InstallDirectoryGuidSeed ?>
         <Directory Id="TARGETDIR" Name="SourceDir">
+        <?ifdef InstallDirectoryGuidSeed ?>
             <Directory Id="InstallDirectory" ComponentGuidGenerationSeed="$(var.InstallDirectoryGuidSeed)" />
+        <?endif ?>
         </Directory>
-    <?endif ?>
+    </Fragment>
+
+    <Fragment>
+        <!-- Locate TARGETDIR automatically assuming we have executables installed -->
+        <Property Id="TARGETDIR">
+            <ComponentSearch Id="PythonExe_Directory" Guid="$(var.PythonExeComponentGuid)">
+                <DirectorySearch Id="PythonExe_Directory" AssignToProperty="yes" Path=".">
+                    <FileSearch Id="PythonExe_DirectoryFile" Name="python.exe" />
+                </DirectorySearch>
+            </ComponentSearch>
+        </Property>
+        <Property Id="DetectTargetDir" Value="1" />
     </Fragment>
     
     <!-- Top-level directories -->
index 23a710df87d55ce24b9ae918e132b70a4ada8b37..2ddeb31afc770fe82723b334f334224c74e897c3 100644 (file)
@@ -4,6 +4,7 @@
         <Package InstallerVersion="300" Compressed="yes" InstallScope="perUser" Platform="$(var.Platform)" />
         <MediaTemplate EmbedCab="yes" CompressionLevel="high" />
         
+        <PropertyRef Id="DetectTargetDir" />
         <PropertyRef Id="UpgradeTable" />
         
         <Feature Id="DefaultFeature" AllowAdvertise="no" Title="!(loc.Title)" Description="!(loc.Description)">
index cd1a68cc2601ae5b3e1e78f1c9bc63ac92624453..cc5bdb493e5fefefdc8ed84ee5569bcfd2ac8110 100644 (file)
@@ -4,6 +4,7 @@
         <Package InstallerVersion="300" Compressed="yes" InstallScope="perUser" Platform="$(var.Platform)" />
         <MediaTemplate EmbedCab="yes" CompressionLevel="high" />
         
+        <PropertyRef Id="DetectTargetDir" />
         <PropertyRef Id="UpgradeTable" />
         <PropertyRef Id="REGISTRYKEY" />
         
index 2a3b9ecfeef8d01147092f8afb02455e008e3667..b38cd9114be740bff83ea718b3f8aff035a058bd 100644 (file)
@@ -4,6 +4,7 @@
         <Package InstallerVersion="300" Compressed="yes" InstallScope="perUser" Platform="$(var.Platform)" />
         <MediaTemplate EmbedCab="yes" CompressionLevel="high" />
         
+        <PropertyRef Id="DetectTargetDir" />
         <PropertyRef Id="UpgradeTable" />
         <PropertyRef Id="REGISTRYKEY" />
         
index 8b37936cc938f2602f47acc72595c50b89dc88a0..017b812270c5b2e9ba4ec785f0f7812edd0d3059 100644 (file)
@@ -2,7 +2,8 @@
 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
     <Product Id="*" Language="!(loc.LCID)" Name="!(loc.Title)" Version="$(var.Version)" Manufacturer="!(loc.Manufacturer)" UpgradeCode="$(var.UpgradeCode)">
         <Package InstallerVersion="300" Compressed="yes" InstallScope="perUser" Platform="$(var.Platform)" />
-        
+
+        <PropertyRef Id="DetectTargetDir" />
         <PropertyRef Id="UpgradeTable" />
         <PropertyRef Id="REGISTRYKEY" />
         
index eeae8e8b0dfa5fd9927e4dbf7b222e5e18161331..bbf6ac70fadf691c2cfa0abf1e8968b95a4b5105 100644 (file)
@@ -4,6 +4,7 @@
         <Package InstallerVersion="300" Compressed="yes" InstallScope="perUser" Platform="$(var.Platform)" />
         <MediaTemplate EmbedCab="yes" CompressionLevel="high" />
         
+        <PropertyRef Id="DetectTargetDir" />
         <PropertyRef Id="UpgradeTable" />
         <PropertyRef Id="REGISTRYKEY" />
         
index f2ed64f07bf281dc4bc36b2f645100a915e1e078..e8f514a222366b6ceef9ac0c78f023db21192e3b 100644 (file)
@@ -4,6 +4,7 @@
         <Package InstallerVersion="300" Compressed="yes" InstallScope="perUser" Platform="$(var.Platform)" />
         <MediaTemplate EmbedCab="yes" CompressionLevel="high" />
         
+        <PropertyRef Id="DetectTargetDir" />
         <PropertyRef Id="UpgradeTable" />
         <PropertyRef Id="REGISTRYKEY" />
         
index 7a805d0612e080523e1d11e0b519ea1f4d270b30..133a743efccae67130821b92ab9a7d0215ad317e 100644 (file)
@@ -4,6 +4,7 @@
         <Package InstallerVersion="300" Compressed="yes" InstallScope="perUser" Platform="$(var.Platform)" />
         <MediaTemplate EmbedCab="yes" CompressionLevel="high" />
         
+        <PropertyRef Id="DetectTargetDir" />
         <PropertyRef Id="UpgradeTable" />
         
         <Feature Id="DefaultFeature" AllowAdvertise="no" Title="!(loc.Title)" Description="!(loc.Description)">
index 76e56820c53b23ef3f070eb18b34cdf49cd03b44..94fd3f0e97488068de5e32ee414b46b7cb210f2c 100644 (file)
@@ -4,6 +4,7 @@
         <Package InstallerVersion="300" Compressed="yes" InstallScope="perUser" Platform="$(var.Platform)" />
         <MediaTemplate EmbedCab="yes" CompressionLevel="high" />
         
+        <PropertyRef Id="DetectTargetDir" />
         <PropertyRef Id="UpgradeTable" />
         <PropertyRef Id="REGISTRYKEY" />