We are sunsetting Hakiri on January 31 2022. To learn more please refer to this document.

Discovered almost 5 years ago
Source: static code analysis
Category: File Access
Confidence level: Weak

Problem

Model attribute used in file name

Location

app/models/optimized_image.rb:263

File.open(((FileHelper.download(((SiteSetting.scheme + ":") + optimized_image.url.dup), SiteSetting.max_image_size_kb.kilobytes, "discourse", true) rescue nil).path or FileStore::LocalStore.new.path_for(optimized_image)))

Category description: When user-supplied input can contain ".." or similar characters that are passed through to file access APIs, causing access to files outside of an intended subdirectory.

Solution: fix the issue in app/models/optimized_image.rb or mark it as false positive.