⚠ php2shell critical PHP RCE · patched in 8.2.35+ 8.3.36+ 8.4.27+ 8.5.12+ · 376 NotResolved → details ▾fewer details ▴
Critical memory-safety and unauthenticated remote code execution (RCE) vulnerabilities were found in the core PHP engine and patched on 21 October 2026.
- CVE-2026-109618 (RCE via OOM corruption): Out-of-memory handling interrupts PHP while internal request data is only partially initialized, causing request cleanup to treat invalid data as valid.
- CVE-2026-109619 (RCE via stale global state): Request-owned internal state survives after its backing memory is freed, allowing a later request handled by the same worker to use stale state before initialization resets it.
Affected: all PHP versions from 5.4 – 8.5.11. PHP 8.1 and older are end-of-life and will not receive official fixes.
Patched versions: PHP 8.5.12 · PHP 8.4.27 · PHP 8.3.36 · PHP 8.2.35 (or newer in the same branch).
Action required: update the PHP runtime package or container image to a patched version immediately. On WordPress or shared hosting, check with the hosting provider that the update was applied. If patching isn't possible yet, isolate the internet-facing application or put it behind a Web Application Firewall (WAF) rule set.
Official patches: php.net/downloads
Status in this list follows the detected PHP version: a patched release is Resolved; anything else, including a hidden version, is NotResolved. Recheck a site to update it.
6,212 sites · Resolved 112 · NotResolved 376 · No action needed 4 · Check failed 6212
| Site URL | PHP version | Type | Status | CMS | Contact | Last checked | |
|---|---|---|---|---|---|---|---|
| prou.et | No DNS | et_tld | Check failed | — | — | 2026-10-22 19:04 | |
| evidence: none, the site couldn't be read | region: et_tld:domain ends in .et | |||||||
|
Couldn't check:
The domain doesn't resolve (no DNS record): it has expired or was never set up
· Site's side: down or broken
· attempt 4 of 5, will retry
https: ENOTFOUND (getaddrinfo ENOTFOUND prou.et) · http: ENOTFOUND (getaddrinfo ENOTFOUND prou.et) · DNS: ENOTFOUND (no record)
|
|||||||
| profond.et | No DNS | et_tld | Check failed | — | — | 2026-10-22 19:04 | |
| evidence: none, the site couldn't be read | region: et_tld:domain ends in .et | |||||||
|
Couldn't check:
The domain doesn't resolve (no DNS record): it has expired or was never set up
· Site's side: down or broken
· attempt 4 of 5, will retry
https: ENOTFOUND (getaddrinfo ENOTFOUND profond.et) · http: ENOTFOUND (getaddrinfo ENOTFOUND profond.et) · DNS: ENOTFOUND (no record)
|
|||||||
| passent.et | No DNS | et_tld | Check failed | — | — | 2026-10-22 19:04 | |
| evidence: none, the site couldn't be read | region: et_tld:domain ends in .et | |||||||
|
Couldn't check:
The domain doesn't resolve (no DNS record): it has expired or was never set up
· Site's side: down or broken
· attempt 4 of 5, will retry
https: ENOTFOUND (getaddrinfo ENOTFOUND passent.et) · http: ENOTFOUND (getaddrinfo ENOTFOUND passent.et) · DNS: ENOTFOUND (no record)
|
|||||||
| pluie.et | No DNS | et_tld | Check failed | — | — | 2026-10-22 19:04 | |
| evidence: none, the site couldn't be read | region: et_tld:domain ends in .et | |||||||
|
Couldn't check:
The domain doesn't resolve (no DNS record): it has expired or was never set up
· Site's side: down or broken
· attempt 4 of 5, will retry
https: ENOTFOUND (getaddrinfo ENOTFOUND pluie.et) · http: ENOTFOUND (getaddrinfo ENOTFOUND pluie.et) · DNS: ENOTFOUND (no record)
|
|||||||
| perroqu.et | No DNS | et_tld | Check failed | — | — | 2026-10-22 19:04 | |
| evidence: none, the site couldn't be read | region: et_tld:domain ends in .et | |||||||
|
Couldn't check:
The domain doesn't resolve (no DNS record): it has expired or was never set up
· Site's side: down or broken
· attempt 4 of 5, will retry
https: ENOTFOUND (getaddrinfo ENOTFOUND perroqu.et) · http: ENOTFOUND (getaddrinfo ENOTFOUND perroqu.et) · DNS: ENOTFOUND (no record)
|
|||||||
| partiallyordereds.et | No DNS | et_tld | Check failed | — | — | 2026-10-22 19:04 | |
| evidence: none, the site couldn't be read | region: et_tld:domain ends in .et | |||||||
|
Couldn't check:
The domain doesn't resolve (no DNS record): it has expired or was never set up
· Site's side: down or broken
· attempt 4 of 5, will retry
https: ENOTFOUND (getaddrinfo ENOTFOUND partiallyordereds.et) · http: ENOTFOUND (getaddrinfo ENOTFOUND partiallyordereds.et) · DNS: ENOTFOUND (no record)
|
|||||||
| planning.et | No DNS | et_tld | Check failed | — | — | 2026-10-22 19:04 | |
| evidence: none, the site couldn't be read | region: et_tld:domain ends in .et | |||||||
|
Couldn't check:
The domain doesn't resolve (no DNS record): it has expired or was never set up
· Site's side: down or broken
· attempt 4 of 5, will retry
https: ENOTFOUND (getaddrinfo ENOTFOUND planning.et) · http: ENOTFOUND (getaddrinfo ENOTFOUND planning.et) · DNS: ENOTFOUND (no record)
|
|||||||
| persos.et | No DNS | et_tld | Check failed | — | — | 2026-10-22 19:04 | |
| evidence: none, the site couldn't be read | region: et_tld:domain ends in .et | |||||||
|
Couldn't check:
The domain doesn't resolve (no DNS record): it has expired or was never set up
· Site's side: down or broken
· attempt 4 of 5, will retry
https: ENOTFOUND (getaddrinfo ENOTFOUND persos.et) · http: ENOTFOUND (getaddrinfo ENOTFOUND persos.et) · DNS: ENOTFOUND (no record)
|
|||||||
| puissantes.et | No DNS | et_tld | Check failed | — | — | 2026-10-22 19:04 | |
| evidence: none, the site couldn't be read | region: et_tld:domain ends in .et | |||||||
|
Couldn't check:
The domain doesn't resolve (no DNS record): it has expired or was never set up
· Site's side: down or broken
· attempt 4 of 5, will retry
https: ENOTFOUND (getaddrinfo ENOTFOUND puissantes.et) · http: ENOTFOUND (getaddrinfo ENOTFOUND puissantes.et) · DNS: ENOTFOUND (no record)
|
|||||||
| purs.et | No DNS | et_tld | Check failed | — | — | 2026-10-22 19:04 | |
| evidence: none, the site couldn't be read | region: et_tld:domain ends in .et | |||||||
|
Couldn't check:
The domain doesn't resolve (no DNS record): it has expired or was never set up
· Site's side: down or broken
· attempt 4 of 5, will retry
https: ENOTFOUND (getaddrinfo ENOTFOUND purs.et) · http: ENOTFOUND (getaddrinfo ENOTFOUND purs.et) · DNS: ENOTFOUND (no record)
|
|||||||
| passage.et | No DNS | et_tld | Check failed | — | — | 2026-10-22 19:04 | |
| evidence: none, the site couldn't be read | region: et_tld:domain ends in .et | |||||||
|
Couldn't check:
The domain doesn't resolve (no DNS record): it has expired or was never set up
· Site's side: down or broken
· attempt 4 of 5, will retry
https: ENOTFOUND (getaddrinfo ENOTFOUND passage.et) · http: ENOTFOUND (getaddrinfo ENOTFOUND passage.et) · DNS: ENOTFOUND (no record)
|
|||||||
| ouvertement.et | No DNS | et_tld | Check failed | — | — | 2026-10-22 19:04 | |
| evidence: none, the site couldn't be read | region: et_tld:domain ends in .et | |||||||
|
Couldn't check:
The domain doesn't resolve (no DNS record): it has expired or was never set up
· Site's side: down or broken
· attempt 4 of 5, will retry
https: ENOTFOUND (getaddrinfo ENOTFOUND ouvertement.et) · http: ENOTFOUND (getaddrinfo ENOTFOUND ouvertement.et) · DNS: ENOTFOUND (no record)
|
|||||||
| partir.et | No DNS | et_tld | Check failed | — | — | 2026-10-22 19:04 | |
| evidence: none, the site couldn't be read | region: et_tld:domain ends in .et | |||||||
|
Couldn't check:
The domain doesn't resolve (no DNS record): it has expired or was never set up
· Site's side: down or broken
· attempt 4 of 5, will retry
https: ENOTFOUND (getaddrinfo ENOTFOUND partir.et) · http: ENOTFOUND (getaddrinfo ENOTFOUND partir.et) · DNS: ENOTFOUND (no record)
|
|||||||
| physique.et | No DNS | et_tld | Check failed | — | — | 2026-10-22 19:04 | |
| evidence: none, the site couldn't be read | region: et_tld:domain ends in .et | |||||||
|
Couldn't check:
The domain doesn't resolve (no DNS record): it has expired or was never set up
· Site's side: down or broken
· attempt 4 of 5, will retry
https: ENOTFOUND (getaddrinfo ENOTFOUND physique.et) · http: ENOTFOUND (getaddrinfo ENOTFOUND physique.et) · DNS: ENOTFOUND (no record)
|
|||||||
| paix.et | No DNS | et_tld | Check failed | — | — | 2026-10-22 19:04 | |
| evidence: none, the site couldn't be read | region: et_tld:domain ends in .et | |||||||
|
Couldn't check:
The domain doesn't resolve (no DNS record): it has expired or was never set up
· Site's side: down or broken
· attempt 4 of 5, will retry
https: TimeoutError (The operation timed out.) · http: ENOTFOUND (getaddrinfo ENOTFOUND paix.et) · DNS: ENOTFOUND (no record)
|
|||||||
| peinture.et | No DNS | et_tld | Check failed | — | — | 2026-10-22 19:04 | |
| evidence: none, the site couldn't be read | region: et_tld:domain ends in .et | |||||||
|
Couldn't check:
The domain doesn't resolve (no DNS record): it has expired or was never set up
· Site's side: down or broken
· attempt 4 of 5, will retry
https: TimeoutError (The operation timed out.) · http: ENOTFOUND (getaddrinfo ENOTFOUND peinture.et) · DNS: ENOTFOUND (no record)
|
|||||||
| passionnants.et | No DNS | et_tld | Check failed | — | — | 2026-10-22 19:04 | |
| evidence: none, the site couldn't be read | region: et_tld:domain ends in .et | |||||||
|
Couldn't check:
The domain doesn't resolve (no DNS record): it has expired or was never set up
· Site's side: down or broken
· attempt 4 of 5, will retry
https: TimeoutError (The operation timed out.) · http: ENOTFOUND (getaddrinfo ENOTFOUND passionnants.et) · DNS: ENOTFOUND (no record)
|
|||||||
| plc.et | No DNS | et_tld | Check failed | — | — | 2026-10-22 19:04 | |
| evidence: none, the site couldn't be read | region: et_tld:domain ends in .et | |||||||
|
Couldn't check:
The domain doesn't resolve (no DNS record): it has expired or was never set up
· Site's side: down or broken
· attempt 4 of 5, will retry
https: TimeoutError (The operation timed out.) · http: ENOTFOUND (getaddrinfo ENOTFOUND plc.et) · DNS: ENOTFOUND (no record)
|
|||||||
| pousser.et | No DNS | et_tld | Check failed | — | — | 2026-10-22 19:04 | |
| evidence: none, the site couldn't be read | region: et_tld:domain ends in .et | |||||||
|
Couldn't check:
The domain doesn't resolve (no DNS record): it has expired or was never set up
· Site's side: down or broken
· attempt 4 of 5, will retry
https: TimeoutError (The operation timed out.) · http: ENOTFOUND (getaddrinfo ENOTFOUND pousser.et) · DNS: ENOTFOUND (no record)
|
|||||||
| physiquement.et | No DNS | et_tld | Check failed | — | — | 2026-10-22 19:04 | |
| evidence: none, the site couldn't be read | region: et_tld:domain ends in .et | |||||||
|
Couldn't check:
The domain doesn't resolve (no DNS record): it has expired or was never set up
· Site's side: down or broken
· attempt 4 of 5, will retry
https: TimeoutError (The operation timed out.) · http: ENOTFOUND (getaddrinfo ENOTFOUND physiquement.et) · DNS: ENOTFOUND (no record)
|
|||||||