diff options
| author | Cody Robibero <cody@robibe.ro> | 2026-07-25 12:52:11 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-07-25 12:52:11 -0400 |
| commit | 86ac1aaa6b69ed34f0b438167b4d01f1ddae0c4d (patch) | |
| tree | 11c5d428be96cb34f7a9cc6ca3918b4566650219 /Jellyfin.Api/Controllers/ImageController.cs | |
| parent | 1bfbad24200e89273464d6aabcbb1d36ac1813df (diff) | |
| parent | 45ec0ed8b5cd92226ff7767d654dd93b1a2036f5 (diff) | |
Merge branch 'master' into fix/create_library_thumbs_on_first_scan
Diffstat (limited to 'Jellyfin.Api/Controllers/ImageController.cs')
| -rw-r--r-- | Jellyfin.Api/Controllers/ImageController.cs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/Jellyfin.Api/Controllers/ImageController.cs b/Jellyfin.Api/Controllers/ImageController.cs index ae792142b4..d492a2f5ba 100644 --- a/Jellyfin.Api/Controllers/ImageController.cs +++ b/Jellyfin.Api/Controllers/ImageController.cs @@ -125,7 +125,13 @@ public class ImageController : BaseJellyfinApiController { // Handle image/png; charset=utf-8 var mimeType = Request.ContentType?.Split(';').FirstOrDefault(); - var userDataPath = Path.Combine(_serverConfigurationManager.ApplicationPaths.UserConfigurationDirectoryPath, user.Username); + var userConfigurationDirectoryPath = _serverConfigurationManager.ApplicationPaths.UserConfigurationDirectoryPath; + var userDataPath = Path.Combine(userConfigurationDirectoryPath, user.Username); + if (!PathHelper.IsContainedIn(userConfigurationDirectoryPath, userDataPath)) + { + return BadRequest("Invalid user."); + } + if (user.ProfileImage is not null) { await _userManager.ClearProfileImageAsync(user).ConfigureAwait(false); @@ -2049,7 +2055,7 @@ public class ImageController : BaseJellyfinApiController } // Check If-Modified-Since header for time-based validation - if (DateTime.TryParse(Request.Headers[HeaderNames.IfModifiedSince], out var ifModifiedSinceHeader)) + if (DateTime.TryParse(Request.Headers[HeaderNames.IfModifiedSince], CultureInfo.InvariantCulture, out var ifModifiedSinceHeader)) { // Return 304 if the image has not been modified since the client's cached version if (dateImageModified <= ifModifiedSinceHeader) |
