CSP: object-src

The HTTP Content-Security-Policy object-src directive specifies valid sources for the <object>, <embed>, and <applet> elements.

To set allowed types for <object>, <embed>, and <applet> elements, use the plugin-types directive.

Note: Elements controlled by object-src are perhaps coincidentally considered legacy HTML elements and aren't receiving new standardized features (such as the security attributes sandbox or allow for <iframe>). Therefore it is recommended to restrict this fetch-directive (e.g. explicitly set object-src 'none' if possible).

CSP version 1
Directive type Fetch directive
default-src fallback Yes. If this directive is absent, the user agent will look for the default-src directive.

Syntax

One or more sources can be allowed for the object-src policy:

Content-Security-Policy: object-src <source>;
Content-Security-Policy: object-src <source> <source>;

Sources

<source> can be any one of the values listed in CSP Source Values.

Note that this same set of values can be used in all fetch directives (and a number of other directives).

Examples

Violation cases

Given this CSP header:

Content-Security-Policy: object-src https://example.com/

The following <object>, <embed>, and <applet> elements are blocked and won't load:

<embed src="https://not-example.com/flash"></embed>
<object data="https://not-example.com/plugin"></object>
<applet archive="https://not-example.com/java"></applet>

Specifications

Specification
Content Security Policy Level 3
# directive-object-src

Browser compatibility

BCD tables only load in the browser

See also