Website Development

After PHP2Shell: I Checked 1,128 Nepali Government Websites

In late October, a pair of critical PHP vulnerabilities known as PHP2Shell forced Nepal to take a large part of its government web estate offline as a precaution. According to the Kathmandu Post, most of those sites run on the shared GIWMS platform, and most were reported back online within days.

Every report said "thousands of sites". None had a count. So I made one.

What I did

I listed every government organisation with a .gov.np name in public certificate-transparency logs: 1,128 of them, of which 725 are local governments (the …mun.gov.np sites) and 403 are ministries, departments, boards and other bodies. On 3 November 2026 I looked at each homepage once.

The check was passive: at most three requests per organisation, response headers only. Nothing was probed, no pages beyond the homepage were requested, and nothing was stored except the headers. I am publishing totals only. No organisation is named here or in the dataset.

Limitation

One limitation shapes everything below: I ran this from a server in India. A site that blocks visitors from outside Nepal looks exactly like a site that is down. I will re-run the same script from a Nepali connection and publish the comparison.

The numbers

The split by type is the striking part:

No responseAnsweredCertificate error
Local governments (725)608 (84%)10116
Other government bodies (403)96 (24%)27530

Down, or closed to the world?

Five out of six local government websites did not answer a visitor from outside Nepal. Since most government sites were reported back online by 26 October, the likeliest explanation is not that they are still broken but that they now refuse traffic from abroad, a step some organisations take after a security incident.

I want to be careful here: that is an inference, not a measurement. The re-run from inside Nepal will settle it. But if it holds, it matters. Nepal has a large population working and studying abroad, and a municipality website is where a migrant worker finds a notice, a form or a phone number for their ward. A site that is technically online but unreachable from Doha or Seoul has failed many of the people who most need it.

Certificates

Forty-six organisations serve HTTPS with a certificate a browser will not trust, so a visitor sees a full-page warning. Forty-five of them still serve a page behind that warning, which suggests expired or mismatched certificates rather than missing servers. In my September check of 30 government sites, every certificate was valid. On a re-check of the same 30 sites this month, four were not.

The sites that answered

Among the 374 sites that answered normally:

That last group is small, which is good news. In September, five of 30 government sites sent an X-Powered-By header; on this month's re-check of the same 30, none did. Hiding version numbers after a PHP vulnerability is exactly the right reflex. It is not a fix, but it stops a site advertising which flaw to try.

One platform, one point of failure

Of the 422 organisations whose sites answered at all, 324 sit on the same network block. That is consistent with what the reporting says about GIWMS: most of Nepal's government web presence runs on one shared system.

A shared platform is a sensible choice for hundreds of small offices without their own technical staff. Patches roll out once, and design and accessibility improvements reach everyone. The cost is the one PHP2Shell exposed: when the platform has a problem, the whole government goes quiet at once.

What would help

Method and data

The aggregate dataset is public as JSON, with the method and limitations written into it. The per-organisation results are kept private and are available to Nepal's National Cyber Security Center on request. Certificate-transparency logs only list names that have had a certificate, so organisations that have never used HTTPS are missing from the frame, and the true estate is larger.

This measures response headers only. It says nothing about patching, application security or access control, and a site can pass every check here and still be compromised. The wider picture for Nepali websites is in the 34-site audit, and all my datasets are on the research page.

Featured photo: Karrattul, Wikimedia Commons, CC0. Cropped to 16:9.