]> 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>
Mon, 7 Mar 2022 17:23:11 +0000 (17:23 +0000)
committerGitHub <noreply@github.com>
Mon, 7 Mar 2022 17:23:11 +0000 (17:23 +0000)
12 files changed:
Misc/NEWS.d/next/Windows/2022-03-07-16-34-11.bpo-46948.Ufd4tG.rst [new file with mode: 0644]
Tools/msi/appendpath/appendpath.wxs
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 e8d7a9d0a31ae1c03156a36bca474f4cb0b91c5f..bba186cf60fd10af11dd4b15341faa80dbfc6c06 100644 (file)
@@ -3,6 +3,7 @@
     <Product Id="*" Language="!(loc.LCID)" Name="!(loc.Title)" Version="$(var.Version)" Manufacturer="!(loc.Manufacturer)" UpgradeCode="$(var.UpgradeCode)">
         <Package InstallerVersion="500" Compressed="yes" InstallScope="perUser" />
         
+        <PropertyRef Id="DetectTargetDir" />
         <PropertyRef Id="UpgradeTable" />
         <PropertyRef Id="REGISTRYKEY" />
         
index 0683f87cb05863d20c10ba1b5ecddbe20797e143..ac4b7a6d753080919a339fa2ba6fd9ca8845512a 100644 (file)
       <PackageGroupRef Id="crt" />
       <?endif ?>
       <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 cfc4c449d17cf8eb2a3bec7a006e56c4fdd6b0e8..15a08364bead0438dfd4c3253d8f512c4e03750c 100644 (file)
@@ -4,6 +4,7 @@
         <Package InstallerVersion="500" Compressed="yes" InstallScope="perUser" />
         <MediaTemplate EmbedCab="yes" CompressionLevel="high" />
         
+        <PropertyRef Id="DetectTargetDir" />
         <PropertyRef Id="UpgradeTable" />
         
         <Feature Id="DefaultFeature" AllowAdvertise="no" Title="!(loc.Title)" Description="!(loc.Description)">
index d05936fd85055672db426dc14f125a39768e9c1f..1d7706bb4d50a07af07a75d34d769534f5c44477 100644 (file)
@@ -4,6 +4,7 @@
         <Package InstallerVersion="500" Compressed="yes" InstallScope="perUser" />
         <MediaTemplate EmbedCab="yes" CompressionLevel="high" />
         
+        <PropertyRef Id="DetectTargetDir" />
         <PropertyRef Id="UpgradeTable" />
         <PropertyRef Id="REGISTRYKEY" />
         
index 5c674209789275053922e29f7b80eeb820d7bbae..e417e31b33783ed6a07be29d91e67a4040e27043 100644 (file)
@@ -4,6 +4,7 @@
         <Package InstallerVersion="500" Compressed="yes" InstallScope="perUser" />
         <MediaTemplate EmbedCab="yes" CompressionLevel="high" />
         
+        <PropertyRef Id="DetectTargetDir" />
         <PropertyRef Id="UpgradeTable" />
         <PropertyRef Id="REGISTRYKEY" />
         
index 496f9d08a470c6c4a9ca1d990b60ca6d5333f2c4..32854392e8bee3f696d92bc537427413805c7dd3 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="500" Compressed="yes" InstallScope="perUser" />
-        
+
+        <PropertyRef Id="DetectTargetDir" />
         <PropertyRef Id="UpgradeTable" />
         <PropertyRef Id="REGISTRYKEY" />
         
index fdd6da384bf0c66a4018e67684754f7b4bd3a1aa..bad56d55cce3723ce1105c32b103b0e116c530cf 100644 (file)
@@ -4,6 +4,7 @@
         <Package InstallerVersion="500" Compressed="yes" InstallScope="perUser" />
         <MediaTemplate EmbedCab="yes" CompressionLevel="high" />
         
+        <PropertyRef Id="DetectTargetDir" />
         <PropertyRef Id="UpgradeTable" />
         <PropertyRef Id="REGISTRYKEY" />
         
index bf601f42a72836fa3fc99844b9a05103d7331ec1..9e497e73a94f5b5e993c1a1e4876b02080ce1e11 100644 (file)
@@ -4,6 +4,7 @@
         <Package InstallerVersion="500" Compressed="yes" InstallScope="perUser" />
         <MediaTemplate EmbedCab="yes" CompressionLevel="high" />
         
+        <PropertyRef Id="DetectTargetDir" />
         <PropertyRef Id="UpgradeTable" />
         <PropertyRef Id="REGISTRYKEY" />
         
index bb6436c7a0f814b111895d37ecbe8efe063a4047..c06b3c27f6970af7beba327340248a6ffe853142 100644 (file)
@@ -4,6 +4,7 @@
         <Package InstallerVersion="500" Compressed="yes" InstallScope="perUser" />
         <MediaTemplate EmbedCab="yes" CompressionLevel="high" />
         
+        <PropertyRef Id="DetectTargetDir" />
         <PropertyRef Id="UpgradeTable" />
         
         <Feature Id="DefaultFeature" AllowAdvertise="no" Title="!(loc.Title)" Description="!(loc.Description)">
index 525130c8bec3ad8e3c535ea3870952f8e152d824..e9e2a9a9045115b2a2d199177f35dc2254aabad5 100644 (file)
@@ -4,6 +4,7 @@
         <Package InstallerVersion="500" Compressed="yes" InstallScope="perUser" />
         <MediaTemplate EmbedCab="yes" CompressionLevel="high" />
         
+        <PropertyRef Id="DetectTargetDir" />
         <PropertyRef Id="UpgradeTable" />
         <PropertyRef Id="REGISTRYKEY" />