Provide TLS on https://mzl.la/ and set up redirect and HSTS header
Categories
(Marketing :: Social Media, task)
Tracking
(Not tracked)
People
(Reporter: sjw+bugzilla, Unassigned)
References
()
Details
Comment 1•9 years ago
|
||
Updated•9 years ago
|
Updated•9 years ago
|
Comment 2•9 years ago
|
||
Comment 3•9 years ago
|
||
Comment 6•9 years ago
|
||
Comment 7•8 years ago
|
||
Updated•7 years ago
|
Comment 9•7 years ago
|
||
Comment 10•7 years ago
|
||
Comment 11•7 years ago
|
||
Comment 12•7 years ago
|
||
Comment 13•7 years ago
|
||
Comment 14•7 years ago
|
||
Comment 15•7 years ago
|
||
Comment 16•7 years ago
|
||
Updated•4 years ago
|
Comment 17•3 years ago
|
||
This appears resolved as bit.ly now redirects to https and serves an HSTS header
$ curl -i http://mzl.la/1LG5eZp
HTTP/1.1 302 Found
Server: nginx
Date: Mon, 01 Nov 2021 21:26:19 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 109
Location: https://mzl.la/1LG5eZp
Strict-Transport-Security: max-age=1209600
Via: 1.1 google
<html>
<head><title>Bitly</title></head>
<body><a href="https://mzl.la/1LG5eZp">moved here</a></body>
Reporter | ||
Comment 18•3 years ago
|
||
This violates the spec:
An HSTS Host MUST NOT include the STS header field in HTTP responses conveyed over non-secure transport.
https://datatracker.ietf.org/doc/html/rfc6797#section-7.2
Bitly should redirect to HTTPS and only include the HSTS header in the HTTPS response.
Comment 19•3 years ago
|
||
(I checked and bitly also sends the header over HTTPS, so while the spec violation is suboptimal, the outcome is still effective.)
Comment 20•3 years ago
|
||
(In reply to sjw from comment #18)
This violates the spec:
That doesn't matter.
What would be useful is preloading:
Could you ask bitly for a config option to set max-age=63072000; includeSubDomains; preload
for https://hstspreload.org/?
Comment 21•3 years ago
|
||
I've emailed Bitly support
Hi, I work in the Security department at Mozilla. Mozilla is a Bitly customer. We noticed that Bitly hasn't implemented the HSTS standard on their webservers correctly. In the HSTS spec it states
An HSTS Host MUST NOT include the STS header field in HTTP responses conveyed over non-secure transport.
https://datatracker.ietf.org/doc/html/rfc6797#section-7.2
This is to ensure that the STS header isn't sent over a channel that an attacker could modify.
Unfortunately, Bitly's webservers are currently configured to send the STS header over HTTPS and HTTP. You can see this by running a command likecurl -i http://mzl.la/1LG5eZp
The headers of the response from the Bitly servers contains the line
Strict-Transport-Security: max-age=1209600
though it shouldn't.As Mozilla uses Bitly links to link to resources where it's important to us that an attacker can't modify the content and this rule of the spec exists to ensure no clients could use the insecure STS header passed over HTTP, would it be possible to have this fixed on the Bitly webservers so as to conform to the spec?
-Gene Wood
Security Assurance, Mozilla
Comment 22•3 years ago
|
||
They never got back to me, I've emailed them again just now
Comment 23•3 years ago
|
||
I emailed them again on January 22nd and got no response
I emailed again today. I also started a new Zendesk ticket with bitly support in case the original one can't be seen by them for some reason.
Comment 24•3 years ago
|
||
bit.ly has repsonded
While 7.2 does indicates STS header must not be used on a HTTP response, 8.1 indicates a browser MUST ignore any such field. We therefore include this header on HTTP and HTTPS responses to avoid varying response by protocol, in this case expecting it’s a noop on HTTP responses for well behaved user agents. If a user-agent did respect the STS header on a HTTP response at worst it would make future requests over HTTPS which is desired.
So bitly won't fix this.
I think after 7 years we'll wrap this ticket up
Description
•