I have the same problem and I was able to reproduce on my development machine using the tunnels stone as a proxy and set force_ssl = true to the development environment.
I debugged Rack and ActionPack and found that the header was sent without ; secure ; secure at the end, but after that it changes.
The next step is to use Wireshark to capture the SSL session and decrypt it, but I ran out of time.
I tested using a PHP application hosted by nginx, and using HTTPS, the server was able to send cookies that did not enable the secure flag. So this problem is definitely specific to the stack we are using with Rails, not the browser problem.
source share