Skip to content

fix(cookie): make HttpOnly unconditional on all cookies [C4]#546

Merged
lakhansamani merged 1 commit intomainfrom
fix/c4-httponly-unconditional
Apr 4, 2026
Merged

fix(cookie): make HttpOnly unconditional on all cookies [C4]#546
lakhansamani merged 1 commit intomainfrom
fix/c4-httponly-unconditional

Conversation

@lakhansamani
Copy link
Copy Markdown
Contributor

Summary

  • C4 (Critical): HttpOnly was tied to appCookieSecure/adminCookieSecure, disabling it when TLS is off
  • Now HttpOnly is always true on all cookies (session, admin, MFA)
  • Prevents XSS-based session theft in non-TLS environments

Changes

  • internal/cookie/cookie.go: httpOnly = true (was appCookieSecure)
  • internal/cookie/admin_cookie.go: httpOnly = true (was adminCookieSecure)
  • internal/cookie/mfa_session.go: httpOnly = true (was appCookieSecure)

Test plan

  • Package compiles
  • Verify cookies are HttpOnly in both TLS and non-TLS modes

HttpOnly was tied to the Secure flag, meaning cookies were accessible
to JavaScript when running without TLS. This enabled trivial XSS-based
session theft. HttpOnly is now always true regardless of Secure setting.

Affected: session cookies, admin cookies, MFA session cookies.

Fixes: C4 (Critical)
@lakhansamani lakhansamani merged commit f0d0818 into main Apr 4, 2026
@lakhansamani lakhansamani deleted the fix/c4-httponly-unconditional branch April 4, 2026 05:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant