mirror of
				https://github.com/jellyfin/jellyfin.git
				synced 2025-10-31 10:37:22 -04:00 
			
		
		
		
	
						commit
						cd36b8067f
					
				
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -268,6 +268,7 @@ doc/ | ||||
| # Deployment artifacts | ||||
| dist | ||||
| *.exe | ||||
| *.dll | ||||
| 
 | ||||
| # BenchmarkDotNet artifacts | ||||
| BenchmarkDotNet.Artifacts | ||||
|  | ||||
							
								
								
									
										1
									
								
								fuzz/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								fuzz/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| Findings | ||||
| @ -0,0 +1,18 @@ | ||||
| <Project Sdk="Microsoft.NET.Sdk"> | ||||
| 
 | ||||
|   <PropertyGroup> | ||||
|     <OutputType>Exe</OutputType> | ||||
|     <TargetFramework>net5.0</TargetFramework> | ||||
|   </PropertyGroup> | ||||
| 
 | ||||
|   <ItemGroup> | ||||
|     <Reference Include="Emby.Server.Implementations"> | ||||
|       <HintPath>Emby.Server.Implementations.dll</HintPath> | ||||
|     </Reference> | ||||
|   </ItemGroup> | ||||
| 
 | ||||
|   <ItemGroup> | ||||
|     <PackageReference Include="SharpFuzz" Version="1.6.2" /> | ||||
|   </ItemGroup> | ||||
| 
 | ||||
| </Project> | ||||
							
								
								
									
										32
									
								
								fuzz/Emby.Server.Implementations.Fuzz/Program.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								fuzz/Emby.Server.Implementations.Fuzz/Program.cs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,32 @@ | ||||
| using System; | ||||
| using Emby.Server.Implementations.Library; | ||||
| using SharpFuzz; | ||||
| 
 | ||||
| namespace Emby.Server.Implementations.Fuzz | ||||
| { | ||||
|     public static class Program | ||||
|     { | ||||
|         public static void Main(string[] args) | ||||
|         { | ||||
|             switch (args[0]) | ||||
|             { | ||||
|                 case "PathExtensions.TryReplaceSubPath": Run(PathExtensions_TryReplaceSubPath); return; | ||||
|                 default: throw new ArgumentException($"Unknown fuzzing function: {args[0]}"); | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         private static void Run(Action<string> action) => Fuzzer.OutOfProcess.Run(action); | ||||
| 
 | ||||
|         private static void PathExtensions_TryReplaceSubPath(string data) | ||||
|         { | ||||
|             // Stupid, but it worked | ||||
|             var parts = data.Split(':'); | ||||
|             if (parts.Length != 3) | ||||
|             { | ||||
|                 return; | ||||
|             } | ||||
| 
 | ||||
|             _ = PathExtensions.TryReplaceSubPath(parts[0], parts[1], parts[2], out _); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1 @@ | ||||
| /fuzz/Emby.Server.Implementations.Fuzz/Testcases/PathExtensions.TryReplaceSubPath/test1.txt/:/home/bond/dev/jellyfin/:/srv/jellyfin/ | ||||
							
								
								
									
										11
									
								
								fuzz/Emby.Server.Implementations.Fuzz/fuzz.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										11
									
								
								fuzz/Emby.Server.Implementations.Fuzz/fuzz.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,11 @@ | ||||
| #!/bin/sh | ||||
| 
 | ||||
| set -e | ||||
| 
 | ||||
| dotnet build -c Release ../../Emby.Server.Implementations/Emby.Server.Implementations.csproj --output bin | ||||
| sharpfuzz bin/Emby.Server.Implementations.dll | ||||
| cp bin/Emby.Server.Implementations.dll . | ||||
| 
 | ||||
| dotnet build | ||||
| mkdir -p Findings | ||||
| AFL_SKIP_BIN_CHECK=1 afl-fuzz -i "Testcases/$1" -o "Findings/$1" -t 5000 -m 10240 dotnet bin/Debug/net5.0/Emby.Server.Implementations.Fuzz.dll "$1" | ||||
							
								
								
									
										22
									
								
								fuzz/Jellyfin.Server.Fuzz/Jellyfin.Server.Fuzz.csproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								fuzz/Jellyfin.Server.Fuzz/Jellyfin.Server.Fuzz.csproj
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,22 @@ | ||||
| <Project Sdk="Microsoft.NET.Sdk.Web"> | ||||
| 
 | ||||
|   <PropertyGroup> | ||||
|     <OutputType>Exe</OutputType> | ||||
|     <TargetFramework>net5.0</TargetFramework> | ||||
|   </PropertyGroup> | ||||
| 
 | ||||
|   <ItemGroup> | ||||
|     <Reference Include="Jellyfin.Server"> | ||||
|       <HintPath>jellyfin.dll</HintPath> | ||||
|     </Reference> | ||||
|   </ItemGroup> | ||||
| 
 | ||||
|   <ItemGroup> | ||||
|     <ProjectReference Include="../../MediaBrowser.Common/MediaBrowser.Common.csproj" /> | ||||
|   </ItemGroup> | ||||
| 
 | ||||
|   <ItemGroup> | ||||
|     <PackageReference Include="SharpFuzz" Version="1.6.2" /> | ||||
|   </ItemGroup> | ||||
| 
 | ||||
| </Project> | ||||
							
								
								
									
										33
									
								
								fuzz/Jellyfin.Server.Fuzz/Program.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								fuzz/Jellyfin.Server.Fuzz/Program.cs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,33 @@ | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using Jellyfin.Server.Middleware; | ||||
| using Microsoft.AspNetCore.Http; | ||||
| using Microsoft.AspNetCore.Http.Features; | ||||
| using Microsoft.Extensions.Primitives; | ||||
| using SharpFuzz; | ||||
| 
 | ||||
| namespace Emby.Server.Implementations.Fuzz | ||||
| { | ||||
|     public static class Program | ||||
|     { | ||||
|         public static void Main(string[] args) | ||||
|         { | ||||
|             switch (args[0]) | ||||
|             { | ||||
|                 case "UrlDecodeQueryFeature": Run(UrlDecodeQueryFeature); return; | ||||
|                 default: throw new ArgumentException($"Unknown fuzzing function: {args[0]}"); | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         private static void Run(Action<string> action) => Fuzzer.OutOfProcess.Run(action); | ||||
| 
 | ||||
|         private static void UrlDecodeQueryFeature(string data) | ||||
|         { | ||||
|             var dict = new Dictionary<string, StringValues> | ||||
|             { | ||||
|                 { data, StringValues.Empty } | ||||
|             }; | ||||
|             _ = new UrlDecodeQueryFeature(new QueryFeature(new QueryCollection(dict))); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1 @@ | ||||
| a%3D1%26b%3D2%26c%3D3 | ||||
							
								
								
									
										11
									
								
								fuzz/Jellyfin.Server.Fuzz/fuzz.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										11
									
								
								fuzz/Jellyfin.Server.Fuzz/fuzz.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,11 @@ | ||||
| #!/bin/sh | ||||
| 
 | ||||
| set -e | ||||
| 
 | ||||
| dotnet build -c Release ../../Jellyfin.Server/Jellyfin.Server.csproj --output bin | ||||
| sharpfuzz bin/jellyfin.dll | ||||
| cp bin/jellyfin.dll . | ||||
| 
 | ||||
| dotnet build | ||||
| mkdir -p Findings | ||||
| AFL_SKIP_BIN_CHECK=1 afl-fuzz -i "Testcases/$1" -o "Findings/$1" -t 5000 -m 10240 dotnet bin/Debug/net5.0/Jellyfin.Server.Fuzz.dll "$1" | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user