Skip to content

Test failure: System.Formats.Tar TarFile_ExtractToDirectory_File_Tests.ExtractToDirectory_RejectsChainedSymlinkDirectoryTraversal_WithNestedFile (Windows, release/9.0) #131053

Closed

Description

@lewing

Build Information

Build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=1516764
Build error leg or test failing: System.Formats.Tar.Tests (Windows)

On release/9.0, ExtractToDirectory_RejectsChainedSymlinkDirectoryTraversal_WithNestedFile fails on Windows with:

Assert.Throws() Failure: Exception type was not an exact match
Expected: typeof(System.UnauthorizedAccessException)
---- System.IO.IOException : Cannot create '...\dest\a\b' because a file or directory with the same name already exists.

The product behavior is correct — the traversal is rejected and nothing escapes the destination. Only the test's assertion is too strict: some Windows OS builds surface IOException instead of UnauthorizedAccessException. This was already fixed on main by #130290 (fixes #130177), which accepts IOException or UnauthorizedAccessException; it needs to be backported to release/9.0. The failure is deterministic on Windows and is currently blocking unrelated codeflow PRs (e.g. #131044).

Error Message

{
  "ErrorMessage": "ExtractToDirectory_RejectsChainedSymlinkDirectoryTraversal_WithNestedFile",
  "BuildRetry": false,
  "ExcludeConsoleLog": false
}

Note

This issue was authored with the assistance of GitHub Copilot.

Report

Build Repository Test Pull Request
1521099 dotnet/runtime System.Formats.Tar.Tests.TarFile_ExtractToDirectory_File_Tests.ExtractToDirectory_RejectsChainedSymlinkDirectoryTraversal_WithNestedFile
1520880 dotnet/runtime System.Formats.Tar.Tests.TarFile_ExtractToDirectory_File_Tests.ExtractToDirectory_RejectsChainedSymlinkDirectoryTraversal_WithNestedFile #131179
1520885 dotnet/runtime System.Formats.Tar.Tests.TarFile_ExtractToDirectory_File_Tests.ExtractToDirectory_RejectsChainedSymlinkDirectoryTraversal_WithNestedFile #131180
1520869 dotnet/runtime System.Formats.Tar.Tests.TarFile_ExtractToDirectory_File_Tests.ExtractToDirectory_RejectsChainedSymlinkDirectoryTraversal_WithNestedFile #130943
1519926 dotnet/runtime System.Formats.Tar.Tests.TarFile_ExtractToDirectory_File_Tests.ExtractToDirectory_RejectsChainedSymlinkDirectoryTraversal_WithNestedFile
1519808 dotnet/runtime System.Formats.Tar.Tests.TarFile_ExtractToDirectory_File_Tests.ExtractToDirectory_RejectsChainedSymlinkDirectoryTraversal_WithNestedFile
1519745 dotnet/runtime System.Formats.Tar.Tests.TarFile_ExtractToDirectory_File_Tests.ExtractToDirectory_RejectsChainedSymlinkDirectoryTraversal_WithNestedFile #130598
1519697 dotnet/runtime System.Formats.Tar.Tests.TarFile_ExtractToDirectory_File_Tests.ExtractToDirectory_RejectsChainedSymlinkDirectoryTraversal_WithNestedFile
1519577 dotnet/runtime System.Formats.Tar.Tests.TarFile_ExtractToDirectory_File_Tests.ExtractToDirectory_RejectsChainedSymlinkDirectoryTraversal_WithNestedFile
1519016 dotnet/runtime System.Formats.Tar.Tests.TarFile_ExtractToDirectory_File_Tests.ExtractToDirectory_RejectsChainedSymlinkDirectoryTraversal_WithNestedFile #131128
1519012 dotnet/runtime System.Formats.Tar.Tests.TarFile_ExtractToDirectory_File_Tests.ExtractToDirectory_RejectsChainedSymlinkDirectoryTraversal_WithNestedFile #131127
1519006 dotnet/runtime System.Formats.Tar.Tests.TarFile_ExtractToDirectory_File_Tests.ExtractToDirectory_RejectsChainedSymlinkDirectoryTraversal_WithNestedFile #131126
1518742 dotnet/runtime System.Formats.Tar.Tests.TarFile_ExtractToDirectory_File_Tests.ExtractToDirectory_RejectsChainedSymlinkDirectoryTraversal_WithNestedFile #131044
1517098 dotnet/runtime System.Formats.Tar.Tests.TarFile_ExtractToDirectory_File_Tests.ExtractToDirectory_RejectsChainedSymlinkDirectoryTraversal_WithNestedFile #130787
1516764 dotnet/runtime System.Formats.Tar.Tests.TarFile_ExtractToDirectory_File_Tests.ExtractToDirectory_RejectsChainedSymlinkDirectoryTraversal_WithNestedFile #131044
1513637 dotnet/runtime System.Formats.Tar.Tests.TarFile_ExtractToDirectory_File_Tests.ExtractToDirectory_RejectsChainedSymlinkDirectoryTraversal_WithNestedFile

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
9 16 16

Activity

  1. dotnet-policy-service commented on Jul 21, 2026

    @dotnet-policy-service
    Contributor

    Tagging subscribers to this area: @dotnet/area-system-formats-tar
    See info in area-owners.md if you want to be subscribed.

  2. added 2 commits that reference this issue on Jul 22, 2026
    41943ba
    5c5c0f9
  3. rzikm commented on Jul 22, 2026

    @rzikm
    Member

    Fixed by #131079 I assume, @alinpahontu2912. If so, can you close this?

  4. alinpahontu2912 commented on Jul 22, 2026

    @alinpahontu2912
    Member

    Fixed by #131079

  5. locked and limited conversation to collaborators on Aug 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions