← All Results
Domain History

cnn.com

Grade F · 0/100 · 2/7 security headers present

Security Score

F
0/ 100

Security Headers

2/ 7

CSP Violations

NoViolations

Issues Found

38Issues

Recommendations

4Available

Security

0 / 100

Critical security vulnerabilities — CSP provides minimal protection.

Compliance

45 / 100

Major compliance issues — missing critical directives and headers.

Best Practices

20 / 100

Best practices largely absent — review CSP configuration.

CSP Analysis

Content Security PolicyHIGH
default-src 'self' blob: https://*.cnn.com:* http://*.cnn.com:* *.cnn.io:* *.cnn.net:* *.turner.com:* *.turner.io:* *.ugdturner.com:* courageousstudio.com *.vgtf.net:*; script-src 'unsafe-eval' 'unsafe-inline' 'self' *; style-src 'unsafe-inline' 'self' blob: *; child-src 'self' blob: *; frame-src 'self' *; object-src 'self' *; img-src 'self' data: blob: *; media-src 'self' data: blob: *; font-src 'self' data: *; connect-src 'self' data: *; frame-ancestors 'self' https://*.cnn.com:* http://*.cnn.com https://*.cnn.io:* http://*.cnn.io:* *.turner.com:* courageousstudio.com;
Directive Analysis
default-srcHIGH
self blob: https://*.cnn.com:* http://*.cnn.com:* *.cnn.io:* *.cnn.net:* *.turner.com:* *.turner.io:* *.ugdturner.com:* courageousstudio.com *.vgtf.net:*
•HIGH RISK: 'blob:' URI in default-src allows script execution from dynamic blobs
•Insecure HTTP source allowed in default-src
•Subdomain wildcard '*.cnn.io:*' in default-src - vulnerable to subdomain takeover
•Subdomain wildcard '*.cnn.net:*' in default-src - vulnerable to subdomain takeover
•Subdomain wildcard '*.turner.com:*' in default-src - vulnerable to subdomain takeover
•Subdomain wildcard '*.turner.io:*' in default-src - vulnerable to subdomain takeover
•Subdomain wildcard '*.ugdturner.com:*' in default-src - vulnerable to subdomain takeover
•Subdomain wildcard '*.vgtf.net:*' in default-src - vulnerable to subdomain takeover
script-srcHIGH
unsafe-eval unsafe-inline self *
•Unsafe eval() execution allowed in script-src
•Unsafe inline execution allowed in script-src
•CRITICAL: Bare wildcard (*) in script-src allows ANY source
•No nonces or hashes used for script-src
style-srcHIGH
unsafe-inline self blob: *
•Unsafe inline execution allowed in style-src
•Info: 'blob:' URI in style-src
•CRITICAL: Bare wildcard (*) in style-src allows ANY source
child-srcHIGH
self blob: *
•Info: 'blob:' URI in child-src
•CRITICAL: Bare wildcard (*) in child-src allows ANY source
frame-srcHIGH
self *
•CRITICAL: Bare wildcard (*) in frame-src allows ANY source
object-srcHIGH
self *
•CRITICAL: Bare wildcard (*) in object-src allows ANY source
img-srcHIGH
self data: blob: *
•Info: 'data:' URI in img-src
•Info: 'blob:' URI in img-src
•CRITICAL: Bare wildcard (*) in img-src allows ANY source
media-srcHIGH
self data: blob: *
•Info: 'data:' URI in media-src
•Info: 'blob:' URI in media-src
•CRITICAL: Bare wildcard (*) in media-src allows ANY source
font-srcHIGH
self data: *
•Info: 'data:' URI in font-src
•CRITICAL: Bare wildcard (*) in font-src allows ANY source
connect-srcHIGH
self data: *
•Info: 'data:' URI in connect-src
•CRITICAL: Bare wildcard (*) in connect-src allows ANY source
frame-ancestorsHIGH
self https://*.cnn.com:* http://*.cnn.com https://*.cnn.io:* http://*.cnn.io:* *.turner.com:* courageousstudio.com
•Insecure HTTP source allowed in frame-ancestors
•Insecure HTTP source allowed in frame-ancestors
•Subdomain wildcard '*.turner.com:*' in frame-ancestors - vulnerable to subdomain takeover
Missing Directives
⚠HIGHMissing HIGH directive base-uri (Base URI control - prevents base tag injection)
⚠MEDIUMMissing MEDIUM directive form-action (Form submission control - prevents form hijacking)

Security Headers

✗Cross-Origin-Opener-PolicyMissing

Isolates the browsing context to prevent Spectre-type side-channel attacks and cross-origin window manipulation.

How to add it:

nginx
add_header Cross-Origin-Opener-Policy "same-origin" always;
apache
Header always set Cross-Origin-Opener-Policy "same-origin"
cloudflare
Rules > Transform Rules > HTTP Response Header Modification > Set Cross-Origin-Opener-Policy to "same-origin"
✗Permissions-PolicyMissing

Restricts which browser features (camera, microphone, geolocation) the page can use, limiting attack surface.

How to add it:

nginx
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
apache
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
cloudflare
Rules > Transform Rules > HTTP Response Header Modification > Set Permissions-Policy value
✗Referrer-PolicyMissing

Controls how much referrer information is sent with requests, preventing data leaks to third parties.

How to add it:

nginx
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
apache
Header always set Referrer-Policy "strict-origin-when-cross-origin"
cloudflare
Rules > Transform Rules > HTTP Response Header Modification > Set Referrer-Policy to "strict-origin-when-cross-origin"
✗Strict-Transport-SecurityMissing

Forces browsers to use HTTPS for all future requests, preventing man-in-the-middle attacks and SSL stripping.

How to add it:

nginx
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
apache
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
cloudflare
SSL/TLS > Edge Certificates > Enable HSTS (toggle on, set max-age to 12 months, enable includeSubDomains)
✓X-Content-Type-OptionsPresent

nosniff

Prevents browsers from MIME-sniffing responses away from the declared Content-Type, blocking drive-by downloads.

✗X-Frame-OptionsMissing

Prevents the page from being embedded in iframes, protecting against clickjacking attacks.

How to add it:

nginx
add_header X-Frame-Options "DENY" always;
apache
Header always set X-Frame-Options "DENY"
cloudflare
Rules > Transform Rules > HTTP Response Header Modification > Set X-Frame-Options to "DENY"
✓X-XSS-ProtectionPresent

1; mode=block

Legacy XSS filter for older browsers. Modern browsers use CSP instead. Set to "0" to avoid false positives.

5 recommended security headers are missing on cnn.com.

Issues Found

  • •CRITICAL: Bare wildcard (*) in child-src allows ANY sourcecritical
  • •CRITICAL: Bare wildcard (*) in connect-src allows ANY sourcecritical
  • •CRITICAL: Bare wildcard (*) in font-src allows ANY sourcecritical
  • •CRITICAL: Bare wildcard (*) in frame-src allows ANY sourcecritical
  • •CRITICAL: Bare wildcard (*) in img-src allows ANY sourcecritical
  • •CRITICAL: Bare wildcard (*) in media-src allows ANY sourcecritical
  • •CRITICAL: Bare wildcard (*) in object-src allows ANY sourcecritical
  • •CRITICAL: Bare wildcard (*) in script-src allows ANY sourcecritical
  • •CRITICAL: Bare wildcard (*) in style-src allows ANY sourcecritical
  • •HIGH RISK: 'blob:' URI in default-src allows script execution from dynamic blobshigh
  • •Info: 'blob:' URI in child-srcinfo
  • •Info: 'blob:' URI in img-srcinfo
  • •Info: 'blob:' URI in media-srcinfo
  • •Info: 'blob:' URI in style-srcinfo
  • •Info: 'data:' URI in connect-srcinfo
  • •Info: 'data:' URI in font-srcinfo
  • •Info: 'data:' URI in img-srcinfo
  • •Info: 'data:' URI in media-srcinfo
  • •Insecure HTTP source allowed in default-srcmedium
  • •Insecure HTTP source allowed in frame-ancestorsmedium
  • •Missing HIGH directive base-uri (Base URI control - prevents base tag injection)high
  • •Missing MEDIUM directive form-action (Form submission control - prevents form hijacking)medium
  • •Missing security header: Cross-Origin-Opener-Policymedium
  • •Missing security header: Permissions-Policymedium
  • •Missing security header: Referrer-Policymedium
  • •Missing security header: Strict-Transport-Securitymedium
  • •Missing security header: X-Frame-Optionsmedium
  • •No nonces or hashes used for script-srcmedium
  • •Subdomain wildcard '*.cnn.io:*' in default-src - vulnerable to subdomain takeovermedium
  • •Subdomain wildcard '*.cnn.net:*' in default-src - vulnerable to subdomain takeovermedium
  • •Subdomain wildcard '*.turner.com:*' in default-src - vulnerable to subdomain takeovermedium
  • •Subdomain wildcard '*.turner.com:*' in frame-ancestors - vulnerable to subdomain takeovermedium
  • •Subdomain wildcard '*.turner.io:*' in default-src - vulnerable to subdomain takeovermedium
  • •Subdomain wildcard '*.ugdturner.com:*' in default-src - vulnerable to subdomain takeovermedium
  • •Subdomain wildcard '*.vgtf.net:*' in default-src - vulnerable to subdomain takeovermedium
  • •Unsafe eval() execution allowed in script-srchigh
  • •Unsafe inline execution allowed in script-srchigh
  • •Unsafe inline execution allowed in style-srchigh

Recommendations

  • →Add base-uri directive with appropriate restrictions
  • →Add form-action directive with appropriate restrictions
  • →Consider implementing a stricter Content Security Policy
  • →Replace wildcards (*) with specific source lists

Beyond headers: infrastructure exposure

via OSN, our sister project

Security headers protect the browser. OSN maps what's exposed underneath — servers, open ports, known CVEs, DNS and WHOIS.

See what the internet sees about cnn.comWeak headers often come with other exposure — check the full picture.

cnn.com

1 scan since 8/7/2026

F

Latest: 0/100

Total Scans

1

Latest Score

0/100

First Scan

8/7/2026

Last Scan

8/7/2026

Security

0 / 100

Critical security vulnerabilities — CSP provides minimal protection.

Compliance

45 / 100

Major compliance issues — missing critical directives and headers.

Best Practices

20 / 100

Best practices largely absent — review CSP configuration.

Scan History

DateScoreCSPHeadersIssuesAction
Aug 7, 2026
F (0)
Yes
2/738View →

Show off your security grade

Embed this badge on your site or README. It updates automatically after each scan and links back to this report.

HeaderTest security grade: F (0/100) for cnn.com
HTML
<a href="https://headertest.com/results/cnn.com" title="Security headers grade for cnn.com — HeaderTest">
  <img src="https://headertest.com/api/badge/cnn.com" alt="HeaderTest security grade: F (0/100) for cnn.com" />
</a>
Markdown
[![HeaderTest security grade: F (0/100) for cnn.com](https://headertest.com/api/badge/cnn.com)](https://headertest.com/results/cnn.com)
cnn.com Security Headers — Scan History | HeaderTest