We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[vulnerability][integrity.js] Hacked Service Worker caches can intrude into the application
Service Worker is relying on caches without verifying the cached contents
x-cache-timestamp: Date.now()
x-cache-digest: sha256-Base64(SHA256(response.body))
x-cache-random: Base64(Random(32))
x-cache-integrity: content-type,x-cache-timestamp,x-cache-digest,x-cache-random;hmac-sha256-Base64(HMAC(headers.join('\n') + '\n'))
ConnectSession.initialSecret = await HKDF.Extract(0, HKDF.concat( ConnectSession.initialRandom, // x-cache-random ConnectSession.ClientIntegrity.userAgentHash, ConnectSession.ClientIntegrity.browserHash, ConnectSession.ClientIntegrity.scriptsHash, ConnectSession.ClientIntegrity.htmlHash, )); ConnectSession.initialSalt = await HKDF.Expand_Label(CurrentSession.initialSecret, 'salt', '', HMAC.saltLength);
Cache.prototype.put()
Cache.prototype.match()
ConnectSession.initialRandom
integrity.json
The text was updated successfully, but these errors were encountered:
[README] Update README for Fix #368 Check Service Worker cache integrity
9d3e340
0.4.0-alpha.24 with [Vulnerability] Fix #368 Check Service Worker cac…
fa09c38
…he integrity with HMAC
288e4b4
No branches or pull requests
[vulnerability][integrity.js] Hacked Service Worker caches can intrude into the application
Root Cause
Service Worker is relying on caches without verifying the cached contents
Fix
x-cache-timestamp: Date.now()
x-cache-digest: sha256-Base64(SHA256(response.body))
x-cache-random: Base64(Random(32))
x-cache-integrity: content-type,x-cache-timestamp,x-cache-digest,x-cache-random;hmac-sha256-Base64(HMAC(headers.join('\n') + '\n'))
Cache.prototype.put()
Cache.prototype.match()
ConnectSession.initialRandom
is extracted from the header of the cache entry forintegrity.json
The text was updated successfully, but these errors were encountered: