Skip to content
TEN Brief Ten verified stories a day 2026.10.26 KO

이 기사는 한국어로도 읽을 수 있습니다 →

Tech · 3 min read · Reference

What is end of life (EOL) software? Why PHP2Shell fixes stopped at 8.2 — and 8.2 ends December 31, 2026

End of life (EOL) is when a project stops shipping any fixes, including security patches, for a version. PHP gives each branch two years of active support and two years of security-only support. That is why the October 2026 PHP2Shell fixes shipped only for 8.2 through 8.5, leaving out 8.1, which reached EOL at the end of 2025 — and 8.2 itself ends on December 31, 2026

Hands replacing an old computer with a new one on a sunlit workbench

The three lines

  • Definition — the point where a version gets no more fixes, security included
  • Lifecycle — usually active support, then security-only, then end of life
  • Now — PHP 8.2 ends Dec 31, 2026; Python 3.10 already ended Oct 1

Key questions

what does end of life mean in software
**The version's support has ended: no more security patches.** | Stage | Bug fixes | Security patches | |---|---|---| | Active support | Yes | Yes | | Security fixes only | No | Critical only | | End of life | No | No |
php supported versions 2026
**As of October 2026: 8.2, 8.3, 8.4 and 8.5.** | Branch | Security support ends | |---|---| | 8.2 | Dec 31, 2026 | | 8.3 | Dec 31, 2027 | | 8.4 | Dec 31, 2028 | | 8.5 | Dec 31, 2029 | | 8.1 | Ended Dec 31, 2025 (last 8.1.34) |
risks of using end of life software
**Newly found holes stay open forever.** | Risk | Example | |---|---| | No security patches | PHP2Shell regular fixes skipped 8.1 and older | | Cost of alternatives | Paid distro/LTS support, patching from source | | Knock-on effects | Libraries and frameworks drop support too | | Compliance | Flagged in security audits and certifications |

Same vulnerability, but some versions get a patch and others don't. The dividing line is end of life. When the PHP project fixed the PHP2Shell flaws on October 21, 2026, regular releases shipped only for PHP 8.2, 8.3, 8.4 and 8.5. Version 8.1 and older were already past their lifespan. The PHP team did publish minimal source fixes for 8.1, 8.0 and 7.4, but anyone on those versions has to build from source or rely on a distribution or long-term-support vendor.

End of life (EOL) is the point at which a project stops releasing bug fixes and security patches for a version. The software keeps running after that date — but newly discovered holes are never closed.

1. Support usually ends in three stages

StageBug fixesSecurity patchesRegular releases
Active supportYesYesYes
Security fixes onlyNoCritical onlyAs needed
End of lifeNoNoNone

PHP's rule is simple: two years of active support from a branch's first stable release, then two more years of critical security fixes only. After four years, the branch is end of life. Other runtimes use different names and lengths but the same structure: Node.js runs even-numbered majors as long-term support releases, and Python supports each version for about five years.

2. What is still alive in October 2026

PHP

BranchReleasedActive support endsSecurity support endsStatus
8.5Nov 20, 2025Dec 31, 2027Dec 31, 2029Active
8.4Nov 21, 2024Dec 31, 2026Dec 31, 2028Active
8.3Nov 23, 2023Dec 31, 2025Dec 31, 2027Security only
8.2Dec 8, 2022Dec 31, 2024Dec 31, 2026Security only — two months left
8.12021—Dec 31, 2025EOL (last 8.1.34)
8.02020—Nov 26, 2023EOL (last 8.0.30)
7.42019—Nov 28, 2022EOL (last 7.4.33)

Python and Node.js

RuntimeVersionSecurity support endsStatus
Python3.11Oct 31, 2027Supported
Python3.10Oct 1, 2026EOL
Python3.9Oct 31, 2025EOL
Node.js26Apr 30, 2029Supported
Node.js24Apr 30, 2028Supported (active support ended Oct 20, 2026)
Node.js22Apr 30, 2027Supported
Node.js20Apr 30, 2026EOL

If you run PHP 8.2 and just upgraded to 8.2.35 to block PHP2Shell, any flaw found after December 31, 2026 will get no official fix. That is why a move to 8.3 or later belongs on this year's plan. Python 3.10 and Node.js 20 are already past their dates; the Node.js flaw we covered on October 24 was patched only for supported 22, 24 and 26 ("Node2Shell (CVE-2026-111497)").

3. Why people keep running dead versions

ReasonWhat it looks like
CompatibilityOld frameworks and plugins break on new versions
CostCode changes and testing take people and time
InvisibilityRuntimes embedded in appliances can't be upgraded by users
IllusionEOL software keeps working normally

The last row is the dangerous one. EOL doesn't stop a program, so it gets forgotten. In the PHP2Shell advisories, Palo Alto said every version of its PAN-OS firewall operating system is affected — PHP was inside the box even if no customer installed it. How to check your server is in today's "PHP2Shell patch versions."

A short checklist

StepAction
1Inventory runtime versions per server, container and appliance (php -v, python --version, node -v)
2Look up each version's security end date on the official page
3Plan migrations for anything ending within six months
4For EOL versions, check distro or LTS vendor extended support
5Ask appliance vendors about their embedded-runtime policy

4. What this guide doesn't cover

  • Extended support: Distributions such as Red Hat and Ubuntu and LTS vendors patch beyond official EOL for varying periods; not summarized here.
  • PHP 8.2 timing: The December 31, 2026 end date is from php.net; no extension has been announced as far as we found.

Sources

  1. PHP — Supported Versions
  2. PHP — Unsupported Branches (EOL)
  3. endoflife.date — Python
  4. endoflife.date — Node.js
  5. Help Net Security — PHP2Shell: Critical PHP vulnerabilities patched, update now! (2026-10-21)

Verification

Published
Last modified
Cross-check
Checked against 5 independent sources.
Unverified
  • Extended support windows from Linux distributions and LTS vendors vary and are not covered here.
  • PHP 8.2's end date is from php.net's table; we did not check for any announced extension.
Authoring
Reviewed by a person before publication. The full process is described in the Editorial.

Ten stories, once each morning

We send the three-line summaries only; the full pieces stay on the site. One-click unsubscribe, any time.

Related