Skip to content

[automated] Merge branch 'vs17.10' => 'vs17.11'#12665

Merged
JanProvaznik merged 12 commits intovs17.11from
merge/vs17.10-to-vs17.11
Oct 20, 2025
Merged

[automated] Merge branch 'vs17.10' => 'vs17.11'#12665
JanProvaznik merged 12 commits intovs17.11from
merge/vs17.10-to-vs17.11

Conversation

@github-actions
Copy link
Contributor

I detected changes in the vs17.10 branch which have not been merged yet to vs17.11. I'm a robot and am configured to help you automatically keep vs17.11 up to date, so I've opened this PR.

This PR merges commits made on vs17.10 by the following committers:

Instructions for merging from UI

This PR will not be auto-merged. When pull request checks pass, complete this PR by creating a merge commit, not a squash or rebase commit.

merge button instructions

If this repo does not allow creating merge commits from the GitHub UI, use command line instructions.

Instructions for merging via command line

Run these commands to merge this pull request from the command line.

git fetch
git checkout vs17.10
git pull --ff-only
git checkout vs17.11
git pull --ff-only
git merge --no-ff vs17.10

# If there are merge conflicts, resolve them and then run git merge --continue to complete the merge
# Pushing the changes to the PR branch will re-trigger PR validation.
git push https://github.com/dotnet/msbuild HEAD:merge/vs17.10-to-vs17.11
or if you are using SSH
git push git@github.com:dotnet/msbuild HEAD:merge/vs17.10-to-vs17.11

After PR checks are complete push the branch

git push

Instructions for resolving conflicts

⚠️ If there are merge conflicts, you will need to resolve them manually before merging. You can do this using GitHub or using the command line.

Instructions for updating this pull request

Contributors to this repo have permission update this pull request by pushing to the branch 'merge/vs17.10-to-vs17.11'. This can be done to resolve conflicts or make other changes to this pull request before it is merged.
The provided examples assume that the remote is named 'origin'. If you have a different remote name, please replace 'origin' with the name of your remote.

git fetch
git checkout -b merge/vs17.10-to-vs17.11 origin/vs17.11
git pull https://github.com/dotnet/msbuild merge/vs17.10-to-vs17.11
(make changes)
git commit -m "Updated PR with my changes"
git push https://github.com/dotnet/msbuild HEAD:merge/vs17.10-to-vs17.11
or if you are using SSH
git fetch
git checkout -b merge/vs17.10-to-vs17.11 origin/vs17.11
git pull git@github.com:dotnet/msbuild merge/vs17.10-to-vs17.11
(make changes)
git commit -m "Updated PR with my changes"
git push git@github.com:dotnet/msbuild HEAD:merge/vs17.10-to-vs17.11

Contact .NET Core Engineering (dotnet/dnceng) if you have questions or issues.
Also, if this PR was generated incorrectly, help us fix it. See https://github.com/dotnet/arcade/blob/main/.github/workflows/scripts/inter-branch-merge.ps1.

dotnet-maestro bot and others added 7 commits September 8, 2025 09:11
This pull request updates the following dependencies

[marker]: <> (Begin:5f9c9524-456b-43ca-a978-063daaf53c38)
## From https://github.com/dotnet/arcade
- **Subscription**:
[5f9c9524-456b-43ca-a978-063daaf53c38](https://maestro.dot.net/subscriptions?search=5f9c9524-456b-43ca-a978-063daaf53c38)
- **Build**:
[20250905.3](https://dev.azure.com/dnceng/internal/_build/results?buildId=2787027)
([282118](https://maestro.dot.net/channel/3885/github:dotnet:arcade/build/282118))
- **Date Produced**: September 5, 2025 2:36:46 PM UTC
- **Commit**:
[09625cb3b98ebe646a63dfea19a0c0127e88459a](dotnet/arcade@09625cb)
- **Branch**:
[release/8.0](https://github.com/dotnet/arcade/tree/release/8.0)

[DependencyUpdate]: <> (Begin)

- **Updates**:
  - From [8.0.0-beta.25427.4 to 8.0.0-beta.25455.3][1]
    - Microsoft.DotNet.Arcade.Sdk
    - Microsoft.DotNet.XUnitExtensions

[1]: dotnet/arcade@6e78cc9...09625cb

[DependencyUpdate]: <> (End)

- **Updates to .NET SDKs:**
  - Updates tools.dotnet to 8.0.119

[marker]: <> (End:5f9c9524-456b-43ca-a978-063daaf53c38)

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Gang Wang <v-gaw@microsoft.com>
This pull request updates the following dependencies

[marker]: <> (Begin:42961865-e7dd-40be-a923-7af2e4664f80)
## From https://github.com/dotnet/arcade
- **Subscription**:
[42961865-e7dd-40be-a923-7af2e4664f80](https://maestro.dot.net/subscriptions?search=42961865-e7dd-40be-a923-7af2e4664f80)
- **Build**:
[20250905.3](https://dev.azure.com/dnceng/internal/_build/results?buildId=2787027)
([282118](https://maestro.dot.net/channel/3885/github:dotnet:arcade/build/282118))
- **Date Produced**: September 5, 2025 2:36:46 PM UTC
- **Commit**:
[09625cb3b98ebe646a63dfea19a0c0127e88459a](dotnet/arcade@09625cb)
- **Branch**:
[release/8.0](https://github.com/dotnet/arcade/tree/release/8.0)

[DependencyUpdate]: <> (Begin)

- **Updates**:
  - From [8.0.0-beta.25427.4 to 8.0.0-beta.25455.3][1]
    - Microsoft.SourceBuild.Intermediate.arcade
    - Microsoft.DotNet.Arcade.Sdk
    - Microsoft.DotNet.XUnitExtensions

[1]: dotnet/arcade@6e78cc9...09625cb

[DependencyUpdate]: <> (End)


[marker]: <> (End:42961865-e7dd-40be-a923-7af2e4664f80)

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Gang Wang <v-gaw@microsoft.com>
…bdirectory on every build

Recreate temp on linux using CreateTempSubdirectory on every build

----
#### AI description  (iteration 1)
#### PR Classification
Bug fix addressing a Linux-specific temporary folder security vulnerability.

#### PR Summary
This pull request enhances security in MSBuild on Linux by replacing the manual temporary folder creation logic with a reliable call to CreateTempSubdirectory, ensuring a unique and correctly set up temp folder on every build.
- `src/Shared/TempFileUtilities.cs`: On Linux, the temp folder is now recreated via Directory.CreateTempSubdirectory instead of custom mkdir/chmod logic.
- `src/Shared/TempFileUtilities.cs`: Removed the unused `userRWX` constant, cleaning up the code.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->

----
#### AI description  (iteration 2)
#### PR Classification
This pull request is a security fix that updates the temporary folder creation mechanism on Linux.

#### PR Summary
The PR replaces the insecure native mkdir/chmod approach with a safer Directory.CreateTempSubdirectory method for Linux, ensuring that the temporary folder is freshly created on every build and addressing the risk of malicious folder creation.
- **`src/Shared/TempFileUtilities.cs`**: Replaces the complex mkdir/chmod logic with a call to Directory.CreateTempSubdirectory for Linux and removes the obsolete userRWX constant.
- **`eng/Versions.props`**: Increments the version prefix to reflect the update.

Related work items: #2541147
…directory on every build

Recreate temp on linux using CreateTempSubdirectory on every build

----
#### AI description  (iteration 1)
#### PR Classification
This pull request implements a security bug fix by revising the temporary folder creation mechanism on Linux.

#### PR Summary
The changes modify the creation of the MSBuild temporary folder to use .NET’s built-in Directory.CreateTempSubdirectory method on Linux, ensuring a new subdirectory is recreated on every build. This approach removes the custom native permission logic and fallback routines, thereby mitigating the risk of malicious folder creation.
- `src/Shared/TempFileUtilities.cs`: On Linux, the manual mkdir/chmod logic is replaced with Directory.CreateTempSubdirectory using a fixed prefix.
- `src/Shared/TempFileUtilities.cs`: For other platforms, the temporary path is now combined with the new folder prefix with explicit directory creation.
- `src/Shared/TempFileUtilities.cs`: The custom permission constant (`userRWX`) is removed in favor of secure, built-in directory handling.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->

----
#### AI description  (iteration 2)
#### PR Classification
This pull request is a security fix addressing a vulnerability in the MSBuild temporary folder creation on Linux.

#### PR Summary
This pull request mitigates a security issue by revising the Linux temporary folder creation process to use a secure subdirectory creation method.
- **`src/Shared/TempFileUtilities.cs`**: Refactored the Linux branch to create a temporary folder with `Directory.CreateTempSubdirectory` using a designated prefix, removing unsafe custom permission checks.
- **`eng/Versions.props`**: Updated the version prefix from 17.8.42 to 17.8.43.

Related work items: #2541147
Merging tag v17.8.43 into vs17.8 branch
Merging tag v17.10.46 into vs17.10 branch
@github-actions github-actions bot requested a review from a team as a code owner October 17, 2025 16:49
@rainersigwald
Copy link
Member

This should be blocked by and merged after #12664.

dotnet-maestro bot and others added 2 commits October 20, 2025 08:39
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Gang Wang <v-gaw@microsoft.com>
Co-authored-by: Jan Provazník <janprovaznik@microsoft.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Gang Wang <v-gaw@microsoft.com>
Co-authored-by: Jan Provazník <janprovaznik@microsoft.com>
@github-actions
Copy link
Contributor Author

This pull request has been updated.

This PR merges commits made on vs17.10 by the following committers:

@github-actions
Copy link
Contributor Author

This pull request has been updated.

This PR merges commits made on vs17.10 by the following committers:

@JanProvaznik JanProvaznik merged commit 155d42e into vs17.11 Oct 20, 2025
10 checks passed
@JanProvaznik JanProvaznik deleted the merge/vs17.10-to-vs17.11 branch October 20, 2025 11:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants