MyGov: Security Architecture Analysis — Responsible Disclosure

Metadata

FieldValue
TargetMyGov (mygov.in)
MinistryMeitY
CategoryUtility (Citizen Engagement)
SensitivityMedium (user accounts, polls, surveys, pledges)
PlatformWeb (Drupal CMS)
Analysis Date2026-06-06
Critical0
High0
Medium2
Low3

Summary

MyGov.in, India’s primary citizen engagement platform, runs on Drupal CMS behind a Radware Alteon load balancer. The site has a solid security baseline with HSTS, X-Frame-Options, X-XSS-Protection, and X-Content-Type-Options headers. However, the CSP is minimal (only upgrade-insecure-requests), and the site loads multiple third-party scripts (Google Tag Manager, Twitter widgets, Facebook SDK, Instagram embeds) without adequate CSP controls. Drupal administrative paths are properly protected (403 responses).

Findings

SeverityCategoryDescription
MEDIUMWeak CSPCSP only has upgrade-insecure-requests; no script-src, style-src, or frame-ancestors directives to control third-party script execution
MEDIUMThird-Party ScriptsGoogle Tag Manager, Twitter widgets, Facebook SDK, Instagram embeds loaded without SRI or CSP controls
LOWInfo DisclosureX-Drupal-Dynamic-Cache header reveals Drupal CMS; AlteonP cookie reveals Radware load balancer
LOWExternal AnalyticsGoogle Analytics (G-GQNNN9RDK4) tracks user behavior on government platform
LOWDrupal Form IDsDrupal form build IDs exposed in HTML source (standard Drupal behavior)

Recommendations

  1. Strengthen CSP with proper script-src, style-src, and frame-ancestors directives
  2. Add Subresource Integrity (SRI) hashes to third-party scripts
  3. Remove X-Drupal-Dynamic-Cache header from public responses