Skip to content

Commit ed39a84

Browse files
committed
FileSystemHandler: Return 403 Forbidden if path contains an escaped slash or backslash character
1 parent 0627eab commit ed39a84

2 files changed

Lines changed: 7 additions & 7 deletions

File tree

Src/FileSystemHandler.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ void processConfig()
152152
string piece = null;
153153
try { piece = urlPieces[i].UrlUnescape(); }
154154
catch (ArgumentException) { throw new HttpException(HttpStatusCode._400_BadRequest, userMessage: "The URL escaping format is not valid."); }
155-
if (piece == "..")
155+
if (piece == ".." || piece.Contains('/') || piece.Contains('\\'))
156156
throw new HttpException(HttpStatusCode._403_Forbidden);
157157

158158
foreach (var suitablePiece in getCandidates(piece))

Src/RT.Servers.csproj

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@
2424
</ItemGroup>
2525

2626
<ItemGroup Condition="'$(Configuration)' != 'Debug-locallibs'">
27-
<PackageReference Include="RT.Json" version="2.0.1826" />
28-
<PackageReference Include="RT.PostBuild" version="2.0.1826" />
29-
<PackageReference Include="RT.Serialization" version="2.0.1826" />
30-
<PackageReference Include="RT.Serialization.Json" version="2.0.1826" />
31-
<PackageReference Include="RT.Serialization.Xml" version="2.0.1826" />
27+
<PackageReference Include="RT.Json" version="2.0.1827" />
28+
<PackageReference Include="RT.PostBuild" version="2.0.1827" />
29+
<PackageReference Include="RT.Serialization" version="2.0.1827" />
30+
<PackageReference Include="RT.Serialization.Json" version="2.0.1827" />
31+
<PackageReference Include="RT.Serialization.Xml" version="2.0.1827" />
3232
<PackageReference Include="RT.TagSoup" version="1.1.52" />
33-
<PackageReference Include="RT.Util.Core" version="2.0.1826" />
33+
<PackageReference Include="RT.Util.Core" version="2.0.1827" />
3434
</ItemGroup>
3535

3636
<ItemGroup>

0 commit comments

Comments
 (0)