Conversation
CRITICAL: This fixes a major security vulnerability where encryption keys were exposed to the server via query parameters. Problem: - Before: https://inigma.idone.su/view?view=XXX&key=SECRET_KEY - Encryption key was sent to server in HTTP GET request - Keys were logged in nginx access logs - Keys were visible to server admins, monitoring systems, and proxy servers - This completely broke the end-to-end encryption promise Solution: - After: https://inigma.idone.su/view?view=XXX#key=SECRET_KEY - Encryption key is now in URL fragment (hash) - Fragments are NEVER sent to the server per RFC 3986 - Only the browser sees the encryption key - True end-to-end encryption is now achieved Changes: 1. main-app.js:160 - Changed '&key=' to '#key=' in URL generation 2. view-app.js:20-28 - Read key from window.location.hash instead of query 3. view-app.js:26-28 - Immediately clean URL to remove key from address bar Impact: - New links generated will have true E2E encryption - Old links (with &key=) will stop working - this is intentional - Existing logs may contain encryption keys - recommend log rotation Security Level: CRITICAL Breaking Change: YES (old links incompatible) Ref: RFC 3986 - URI Generic Syntax, Section 3.5 (Fragment)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CRITICAL: This fixes a major security vulnerability where encryption keys were exposed to the server via query parameters.
Problem:
Solution:
Changes:
Impact:
Security Level: CRITICAL
Breaking Change: YES (old links incompatible)
Ref: RFC 3986 - URI Generic Syntax, Section 3.5 (Fragment)