Skip to content

[automated] Merge branch 'vs17.14' => 'vs18.0'#12667

Merged
rainersigwald merged 33 commits intovs18.0from
merge/vs17.14-to-vs18.0
Oct 20, 2025
Merged

[automated] Merge branch 'vs17.14' => 'vs18.0'#12667
rainersigwald merged 33 commits intovs18.0from
merge/vs17.14-to-vs18.0

Conversation

@github-actions
Copy link
Contributor

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

This PR merges commits made on vs17.14 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.14
git pull --ff-only
git checkout vs18.0
git pull --ff-only
git merge --no-ff vs17.14

# 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.14-to-vs18.0
or if you are using SSH
git push git@github.com:dotnet/msbuild HEAD:merge/vs17.14-to-vs18.0

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.14-to-vs18.0'. 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.14-to-vs18.0 origin/vs18.0
git pull https://github.com/dotnet/msbuild merge/vs17.14-to-vs18.0
(make changes)
git commit -m "Updated PR with my changes"
git push https://github.com/dotnet/msbuild HEAD:merge/vs17.14-to-vs18.0
or if you are using SSH
git fetch
git checkout -b merge/vs17.14-to-vs18.0 origin/vs18.0
git pull git@github.com:dotnet/msbuild merge/vs17.14-to-vs18.0
(make changes)
git commit -m "Updated PR with my changes"
git push git@github.com:dotnet/msbuild HEAD:merge/vs17.14-to-vs18.0

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 16 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:aca86521-13b3-4d28-a005-127af3b681e5)
## From https://github.com/dotnet/arcade
- **Subscription**:
[aca86521-13b3-4d28-a005-127af3b681e5](https://maestro.dot.net/subscriptions?search=aca86521-13b3-4d28-a005-127af3b681e5)
- **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:aca86521-13b3-4d28-a005-127af3b681e5)

---------

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
…bdirectory on every build

Recreate temp on linux using CreateTempSubdirectory on every build

----
#### AI description  (iteration 1)
#### PR Classification
Security bug fix addressing the temporary folder creation issue on Linux.

#### PR Summary
This pull request secures the temporary directory creation in `src/Shared/TempFileUtilities.cs` by replacing the manual folder creation and permission checks with a call to `Directory.CreateTempSubdirectory` on Linux, thereby mitigating the risk of unauthorized temp folder creation. It directly addresses the linked [Security] work item by eliminating the potential for malicious actor intervention.
- `src/Shared/TempFileUtilities.cs`: Uses `Directory.CreateTempSubdirectory` to create a unique, secure temp folder on Linux.
- `src/Shared/TempFileUtilities.cs`: Removes outdated manual permission and folder collision handling logic.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->

----
#### AI description  (iteration 2)
#### PR Classification
Security bug fix that addresses a vulnerability in temporary folder creation on Linux.

#### PR Summary
This pull request enhances security by reworking the Linux temporary folder creation in MSBuild to generate a fresh subdirectory on every build using `Directory.CreateTempSubdirectory`.
- `src/Shared/TempFileUtilities.cs`: Replaced the custom folder creation and permission logic with a secure, native subdirectory creation method and removed the obsolete `userRWX` constant.
- `eng/Versions.props`: Bumped the version prefix from 17.11.47 to 17.11.48.

Related work items: #2541147
…bdirectory on every build

Recreate temp on linux using CreateTempSubdirectory on every build

----
#### AI description  (iteration 2)
#### PR Classification
This PR is a security fix addressing vulnerabilities in temporary folder creation on Linux.

#### PR Summary
The PR revises the MSBuild temporary folder creation by replacing custom mkdir/chmod logic with a secure API call to Directory.CreateTempSubdirectory on Linux, mitigating risks of malicious folder pre-creation. It also bumps the package version.
- `src/Shared/TempFileUtilities.cs`: Replaces custom Linux temp folder creation logic with a call to Directory.CreateTempSubdirectory and adjusts the fallback branch.
- `src/Shared/TempFileUtilities.cs`: Removes the obsolete userRWX constant.
- `eng/Versions.props`: Updates the version prefix from 17.12.49 to 17.12.50.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->

Related work items: #2541147
…bdirectory on every build

Recreate temp on linux using CreateTempSubdirectory on every build

----
#### AI description  (iteration 1)
#### PR Classification
Security bug fix that improves the creation of the temporary folder on Linux to prevent potential malicious folder hijacking.

#### PR Summary
This PR replaces the custom logic for creating and validating the MSBuild temporary folder on Linux with the built-in Directory.CreateTempSubdirectory method, ensuring a fresh and securely generated temp directory on every build.
- `src/Shared/TempFileUtilities.cs`: Updated the Linux branch in the CreateFolderUnderTemp method to use Directory.CreateTempSubdirectory instead of manually handling mkdir/chmod and username concatenation.
- `src/Shared/TempFileUtilities.cs`: Removed the custom permission logic and the unused `userRWX` constant, simplifying the directory creation for non-Linux platforms.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->

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

#### PR Summary
The PR improves the security of temp folder creation by replacing custom mkdir/chmod logic with the built-in `Directory.CreateTempSubdirectory` on Linux, ensuring a uniquely created directory for each build. Additionally, it removes redundant permission code in `TempFileUtilities.cs` and bumps the version in `eng/Versions.props` from 17.14.27 to 17.14.28.
- `src/Shared/TempFileUtilities.cs`: Replaces manual Linux temp folder creation with `Directory.CreateTempSubdirectory` and eliminates outdated permission checks.
- `eng/Versions.props`: Updates the version prefix to signal the new release.

Related work items: #2541147
Merging tag v17.8.43 into vs17.8 branch
Merging tag v17.10.46 into vs17.10 branch
Merging tag v17.12.50 into vs17.12 branch
Merging tag v17.14.28 into vs17.14 branch
@github-actions github-actions bot requested a review from a team as a code owner October 17, 2025 16:50
JanProvaznik and others added 6 commits October 20, 2025 10:01
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.14 by the following committers:

dotnet-maestro bot and others added 5 commits October 20, 2025 09: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: 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.14 by the following committers:

@github-actions
Copy link
Contributor Author

This pull request has been updated.

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

@JanProvaznik
Copy link
Member

@rainersigwald also merge with no bump?

@rainersigwald
Copy link
Member

Yes, makes sense to me. Will do so after the tests complete

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