What happens without security updates
A TYPO3 instance without security updates is not inconspicuous. It is documented as vulnerable. On 9 June 2026 the TYPO3 Security Team published 14 core advisories at once — TYPO3-CORE-SA-2026-006 through -019, among them broken access control, cross-site scripting, open redirect, insecure deserialisation and SQL injection. The fixes appeared as 10.4.57 ELTS, 11.5.51 ELTS, 12.4.46 ELTS, 13.4.31 LTS and 14.3.3 LTS. Anyone running v10, v11 or v12 without a paid ELTS contract still has exactly these holes open today. The flaw is publicly described, the patch exists. It sits behind an invoice. You can read all of it in the security advisories on typo3.org.
One example to quote in the decision paper: TYPO3-CORE-SA-2026-008, CVE-2026-47346, severity High, published on 9 June 2026. Backend users with write access to files could upload form definitions with mixed upper and lower case in the file name, use that to bypass the Form Framework's upload restriction, and run arbitrary SQL statements through prepared definitions — up to creating administrator accounts of their own. Affected were 10.0.0 to 10.4.56, 11.0.0 to 11.5.50, 12.0.0 to 12.4.45, 13.0.0 to 13.4.30 and 14.0.0 to 14.3.2. Five months earlier, on 13 January 2026, TYPO3-CORE-SA-2026-003 (CVE-2025-59022) let backend editors with Recycler access delete arbitrary records from any TCA table — including tables they had no rights to.
Outdated TYPO3 installations do get attacked in practice, and a hit often goes unnoticed for a long time. In March 2014 heise online reported hundreds of compromised TYPO3 websites, many of them in Germany, running on the LTS of the day, 4.5.x: PHP files in the configuration directory, a main.php in the web root, a manipulated .htaccess that served casino spam only to visitors arriving from search engines. Direct requests got an error page. The operators noticed nothing. Whether a TYPO3 vulnerability was the way in was never established: the TYPO3 Association contradicted the account at the time, and sites without TYPO3 were affected as well. That is exactly the point. On a neglected system you cannot reconstruct afterwards what happened. Then there is the second layer: anyone running TYPO3 v8, v9 or v10 is necessarily on PHP 7.4 or older. PHP 7.4 has been end of life since 28 November 2022. The gap is then in the application and in the runtime environment at the same time.
Support end dates and ELTS: the numbers
TYPO3 v14 LTS was released on 21 April 2026 and receives free support until 30 June 2029, ELTS until 30 June 2032. TYPO3 v13 LTS: free until 31 December 2027, ELTS until 31 December 2030. v12: free support ended on 30 April 2026, ELTS runs to 30 April 2030, the fourth of those years only through TYPO3 partners. v11: free support ended on 31 October 2024, regular ELTS to 31 October 2027, the fourth year to 31 October 2028 only through TYPO3 partners. v10: free support ended on 30 April 2023, regular ELTS to 30 April 2026 — the fourth year to 30 April 2027 can be booked exclusively through TYPO3 partners. So if you are on v10 today, that is the only remaining route to ELTS. v9.5: ELTS expired on 30 September 2025. v8.7: ELTS expired on 31 March 2024. For v9 and older there are no security updates at all any more, not even for money.
ELTS (Extended Long Term Support) is the paid security support the TYPO3 GmbH provides for versions whose free support has run out. A single licence (“Single Plan”) for TYPO3 v12 has cost 3,200 euros per year before discounts since April 2026; for v11 and v10 the list price is 2,800 euros. One licence covers one instance: a single TYPO3 installation together with its live, failover, staging and development environments, even when several websites run on it. Several independent installations need several licences. Members of the TYPO3 Association get 25 percent (Silver), 30 percent (Gold) or 45 percent (Platinum) off. Three points belong with that. ELTS delivers security and compatibility patches only, no features. The fourth ELTS year in each case — for v12 to 30 April 2030, for v11 to 31 October 2028, for v10 to 30 April 2027 — is available exclusively through TYPO3 Solution and Technology Partners. And the matching PHP version runs out in parallel: TYPO3 v12 is released for PHP 8.1 to 8.4. PHP 8.1 has had no security updates since 31 December 2025, PHP 8.2 only until 31 December 2026 — so the runtime environment has to be brought forward separately. An ELTS contract for TYPO3 does not cover the runtime environment.
Whether ELTS or an upgrade is cheaper is decided by the timeframe. Three years of v12 ELTS add up to 9,600 euros in licence costs before discount, and at the end of it not a single breaking change has been dealt with. On 30 April 2029 you are standing in the same place, only with three more years of technical distance to the target version. ELTS still has its uses: as a bridge when a relaunch is already scheduled, when a certification or tender period is running, or when there is simply no project budget left in the current financial year. As a permanent arrangement it is expensive. We clarify the procurement route beforehand: for TYPO3 v10 and v11 it runs through a TYPO3 partner. The end dates and prices in this section come from get.typo3.org and typo3.com/elts, retrieved on 16 August 2026.
What breaks technically in v14
The point at which most existing systems break in TYPO3 v14 is called list_type. The database field tt_content.list_type and the content element tt_content.list have been removed without replacement (Breaking #105377). Classic plugin registration via CType=list therefore no longer works: ExtensionUtility::configurePlugin() now registers plugins as their own CType, and the parameter for the plugin sub-type has become ineffective and can be dropped — any value other than CType raises an exception. In ExtensionManagementUtility::addPlugin() the arguments $type and $extensionKey have been removed without replacement. Every affected extension also needs an upgrade wizard of its own, inheriting from AbstractListTypeToCTypeUpdate, that maps old list_type values onto new CType values. Extensions without that wizard leave behind content elements after the upgrade that nothing renders any more.
Besides list_type, TYPO3 v14 breaks the rendering layer in ways that touch every custom template. The TypoScriptFrontendController is gone (#107831), as is the TypoScript condition getTSFE() (#107473). Fluid 5.0 brings strict types in ViewHelpers and changed CDATA behaviour (#108148). TYPO3's own Fluid views TYPO3\CMS\Fluid\View\StandaloneView, \TemplateView and \AbstractTemplateView have been removed; views are now created through ViewFactoryInterface::create(). Add to that the Extbase class HashService and methods such as GeneralUtility::hmac() or ExtensionManagementUtility::addPageTSConfig(). Callables in TypoScript and TSconfig need an opt-in via the attribute #[AsAllowedCallable] (#108054). Asset concatenation in the frontend (#108055) and HTTP response compression (#107943) have been dropped; both now belong in the build process and the web server.
A good part of the breaking changes in TYPO3 v14 can be migrated automatically, but not all of them. For the v14 migration, 45 new Rector rules and 11 new Fractor rules were funded from the TYPO3 community budget: Rector migrates PHP code, Fractor the remaining files — TypoScript, FlexForms, YAML, Fluid templates. The Extension Scanner in the Install Tool finds calls to removed API in your own code. Manual work remains wherever a third-party extension has no v14 release, wherever business logic sits in templates, and wherever libraries collide over Composer constraints. Nonsense that is cleanly implemented is still nonsense, even after the Rector run.
Upgrade, v13 as an interim step, or rebuild
Whether an existing TYPO3 system is taken to v14, lifted to v13 first, or rebuilt with the data carried over, is decided by four thresholds — not by instinct. First, the version you start from: from TYPO3 v12 or v13, v14 is an ordinary upgrade project. From v11 it is two jumps with a stop in between. TYPO3 removes upgrade wizards from the core two major versions after they were introduced; for data from v10 and older they are therefore missing in v14, and have to be made up through an intermediate version or a community extension. Second, the number of in-house extensions. Third, the share of plugins registered via list_type. Fourth, the state of the frontend: if the design is going to be replaced anyway, there is no reason left to rescue the old template.
An upgrade from TYPO3 v8 or v9 to v14 is technically a rebuild with the data carried over, not a version jump. Between v9.5 and v14 lie five major versions, the move from PHP 7.2 to PHP 8.2, and with Composer a different operating model. The new code has to be written either way; what comes across is content, page structure, files and URLs. And when the page structure has grown over the years on top of that, and nobody can still explain why there are three news sections, rebuilding is the cheaper answer. The estimate puts both routes side by side with both figures, even though the upgrade is the smaller job.
The target version is normally TYPO3 v14; v13 as an interim step only with a reason. v13 gets free support until 31 December 2027, v14 until 30 June 2029 — going to v13 in 2026 means booking the next upgrade for 2027. Exactly one argument speaks for v13: the list_type requirement does not apply there yet. If a business-critical third-party extension has no v14 release and no replacement is in sight, v13 is the dependable intermediate step. Otherwise the detour costs two rounds of testing for the same result.
What changes for editors and for operations
The TYPO3 v14 backend has been redesigned: revised styling, simplified navigation, renamed modules. Your editors will notice that more than anything else in the project. Content elements are edited in the context panel without the page reloading completely. New pages are created through a guided assistant, translations likewise. And the module tree is named differently — in the first week that costs the editorial team more time than any new function. Plan for a short briefing, an hour on the test system, before you switch over, not afterwards.
For operations and administration, TYPO3 v14 brings Redis support for Install Tool sessions — until now these were tied to local files, which regularly caused trouble in multi-server and container setups — plus Redis authentication with username and password. Redis backends for frontend and backend sessions have existed since v8. Also new are a content type usage report across sites, and setting the Install Tool password from the command line. The system requirements are specific: PHP from 8.2.0 to 8.5.99, Composer from 2.1, at least 256 MB of RAM, MariaDB from 10.4.3, MySQL from 8.0.17, PostgreSQL from 10.0 or SQLite from 3.8.3. From v14.0 a valid composer.json is mandatory for every extension, explicitly including Classic Mode installations.
After the upgrade comes the part where most projects fail: maintenance. The TYPO3 maintenance plan schedules maintenance releases roughly every four weeks; for v14 the dates from 14.3.1 on 12 May 2026 to 14.3.21 on 14 December 2027 have been published. That is around 13 predictable update windows a year, plus the unpredictable security releases. If you do not plan for them, in four years you will be standing in front of the same question. If you would rather not work the windows yourself, hand them over to us: 13 planned dates a year plus the unplanned ones, governed by an SLA.