logo

Database

Javascript Accepts Wildcard Mime

Description

Detects when JavaScript code accepts content with unrestricted MIME types (using wildcards like */*, */*;q=0.8). This creates security risks as it allows processing of untrusted content types that could lead to XSS or content injection attacks.

Weakness:

153 - Insecure or unset HTTP headers - Accept

Category: Protocol Manipulation

Detection Strategy

    Check JavaScript HTTP client configurations and request headers for 'Accept: */*' patterns

    Identify code that sets or allows wildcard MIME types in content type validations

    Look for AJAX or fetch API calls that don't properly restrict accepted content types

    Flag instances where content type checks are missing or allow arbitrary MIME types

Vulnerable code example

const axios = require('axios');
import { $ } from 'jquery';

async function unsafeRequests() {
  // Dangerous: Accept: "*/*" allows any content type, enabling MIME sniffing attacks
  const dangerousHeaders = { Accept: "*/*" };
  
  // Vulnerable: Setting unsafe Accept header globally...

✅ Secure code example

const axios = require('axios');
import { $ } from 'jquery';

async function safeRequests() {
  // Safe: Explicitly specify expected content type to prevent MIME sniffing
  const safeHeaders = { 
    Accept: 'application/json',
    'Content-Type': 'application/json'...