Programming Language Runtime Security
Platform: Well-Patched Application Code. Runtime: Python 3.9, EOL October 2025. Critical Runtime CVEs: 3. Future Patches: None.
4 min read · 18 July 2026 · Third-party oversight
Programming language runtimes , the interpreters, virtual machines, and execution environments that run application code , are the foundational layer of the software supply chain beneath both the application code and its open-source dependencies. A runtime that has reached end-of-life, or that contains unpatched vulnerabilities, creates risk for every application built on it regardless of how well the application code itself is written or how current its dependencies are. Runtime security is the layer that most SCA scanning and SBOM programmes do not directly address , SCA tools scan application dependencies, not the language runtime that executes those dependencies.
The end-of-life problem for language runtimes follows the same pattern as end-of-life dependencies: the runtime version that was current at initial development becomes progressively more vulnerable as the language project's security team publishes vulnerabilities for the current supported versions and does not backport patches to EOL versions. A Python 3.9 platform accumulates Python vulnerabilities in perpetuity after the October 2025 EOL date , not because new vulnerabilities are specifically introduced into Python 3.9, but because vulnerabilities discovered and patched in Python 3.11 and 3.12 may have been present in Python 3.9 and will remain unpatched.
The migration complexity barrier is the operational reason runtime EOL accumulates as technical debt. Migrating from one major Python version to another , or from one Java LTS version to another , requires testing the entire application against the new runtime. For large, mature codebases, this testing effort is significant. Vendors who are under feature delivery pressure routinely defer runtime migrations in favour of application development work, accumulating runtime EOL debt that eventually becomes an unresolvable security liability.
Why this matters
Runtime security matters for TPRM because a vendor who delivers well-patched application code running on an EOL runtime is delivering software whose foundational execution environment has permanent unpatched vulnerabilities. Application-layer security assessment that does not include runtime version currency misses the most foundational layer of the software supply chain.
- Runtime version currency not assessed in SCA or supply chain security review
- EOL runtime status not tracked in dependency health assessment
- Runtime vulnerabilities not in SCA scan scope , application dependencies only
- Migration timeline for EOL runtimes not assessed
- Runtime security separate from application security in vendor assessment
What good looks like
Mature runtime security programmes assess language runtime version currency alongside application dependency health, use the endoflife.date database to track runtime EOL status for deployed software, and require vendors to disclose their runtime versions and provide migration timelines for EOL runtimes.
- Runtime version assessment alongside SCA scanning
- EOL tracking via endoflife.date for language runtimes in deployed software
- Runtime migration timeline requirement for EOL runtimes
- Runtime vulnerabilities in vulnerability monitoring alongside dependency CVEs
- Runtime currency as supply chain health metric in vendor assessment
Tooling
EOL Tracking , endoflife.date for language runtime, framework, and OS EOL dates; Trivy includes runtime version scanning
The endoflife.date project maintains machine-readable EOL data for languages, runtimes, frameworks, and operating systems , providing the authoritative EOL status reference that enables automated EOL detection in supply chain assessments. Trivy container scanning includes language runtime version detection alongside dependency vulnerability scanning. For TPRM practitioners, checking the runtime versions in vendor software against endoflife.date provides a specific runtime currency assessment.
Governance challenges
The governance challenge with runtime security is the migration prioritisation problem. Runtime migrations compete with feature development and application dependency updates for engineering capacity. The governance resolution is including runtime EOL as a supply chain risk finding with defined remediation SLAs , treating a platform running on an EOL runtime as a finding with equivalent urgency to critical application dependency vulnerabilities.
- Assess runtime version currency for all critical vendor software
- Track EOL status using endoflife.date for runtimes in deployed software
- Require migration timeline for EOL runtimes as a supply chain finding
- Include runtime vulnerability monitoring alongside application dependency monitoring
- Weight runtime EOL in supply chain risk scoring
If you are a small team
For your three most critical software vendors, ask what language runtime version their platform is built on and check that version against endoflife.date. The check takes five minutes per vendor. If any runtime is EOL or within six months of EOL, you have a supply chain finding that the SBOM and SCA programme would not have surfaced. Include that finding in your vendor assessment findings alongside application dependency vulnerabilities.
- Ask vendors for language runtime version
- Check runtime version against endoflife.date
- Flag EOL or near-EOL runtimes as supply chain findings
- Require migration timeline for EOL runtimes
What to require
Ask directly:
"What language runtime version is your platform built on , and if that runtime is approaching end-of-life, what is your migration timeline and how do you plan to address runtime-level vulnerabilities that will not be patched after the EOL date?"
Expect as evidence
- Current language runtime version
- EOL status confirmation
- Migration timeline for EOL or near-EOL runtimes
- Runtime vulnerability monitoring approach
A vendor who confirms application dependency currency should be asked about runtime currency. Application SCA covers the dependencies. Runtime assessment covers the layer the dependencies run on. Both are required for complete supply chain health assessment.
How to evidence it
- Runtime version assessment records
- EOL status tracking
- Migration timeline for EOL runtimes
- Runtime inclusion in supply chain risk scoring
Key Takeaway
Application code: well-patched. Runtime: Python 3.9, EOL October 2025. Critical runtime CVEs: 3. Future patches: none. The application layer was maintained. The execution environment it ran on was accumulating permanent unpatched vulnerabilities. Runtime security is the foundational supply chain layer beneath the application and its dependencies. EOL runtimes have no future patches for vulnerabilities discovered after their EOL date. endoflife.date identifies EOL status in minutes. Migration timelines are the supply chain finding that EOL runtime assessment generates.
Speak to It™
The term you nodded along to, explained in ninety seconds, so you can speak to it professionally. It is how most readers find these articles.
Join the Association