spring-projects / spring-projects/spring-security

SEC-3038: Warn of default HSTS header impact in migration docs

Open
#3,207 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

in: docs type: enhancement type: jira
Dominant language
Java
Stars
9.6k
Forks
6.3k
Avg merge
2d 11h
Merged PRs (30d)
52

Description

Thomas Timbul (Migrated from SEC-3038) said:

The enabling of HSTS by default can have a huge impact on sites that have never used HSTS before and may be unaware that this can (and likely will) break a site with mixed content.

Although the documentation mentions that HSTS is now enabled by default, there should be a large and explicit warning that it should either be disabled explicitly (though perhaps not recommended), or ALL content must be switched to using https.
It should be clearly highlighted that in simple terms the effect of HSTS is for the browser to permanently (for a year) remember your site as using https only, so that having both http content and HSTS will cause infinite redirects in browsers that support HSTS (i.e. all modern ones).

The steps to remedy should then be explained in case this issue had been encountered (for example configure HSTS with max-age=0).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Locate the migration documentation that states HSTS is enabled by default and review how the current behavior is explained. Add an explicit warning about mixed HTTP/HTTPS content and describe the documented remediation, including disabling HSTS or configuring max-age=0; done when the warning and recovery steps are clear in the migration docs.

Written by the indexing model from the issue text.

Assessment

Domain
documentation, security
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.