This vulnerability allows an attacker to bypass the Content Security Policy’s `script-src` directive through a crafted attachment. The attack chain leverages a pre-existing XSS or HTML injection flaw within the application. The attacker uploads a malicious file, which is detected as a valid JavaScript MIME type by PHP’s `finfo` through the `file_create_finfo()` API function. When accessed via file_download.php, the browser receives the file with a MIME type like `text/javascript` or application/javascript. Crucially, the server’s `X-Content-Type-Options: nosniff` header, designed to prevent MIME sniffing, actually enforces strict MIME type checking for scripts. Therefore, the uploaded payload must be correctly identified as a JavaScript MIME type by the server-side detection to execute. `file_create_finfo()` uses `finfo_buffer()` or `finfo_file()` to sniff the content type. The attacker crafts the file to pass this detection, often using a polyglot file (e.g., an image with a JavaScript payload). Once the file is attached to an issue, the attacker triggers the existing XSS to inject a `
Manage Consent
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent may adversely affect certain features and functions.
We do not sell your personal data. If you wish to exercise your rights under applicable privacy laws, please visit our Do Not Sell My Personal Information page.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.