LoopBack 3 End of Life and What It Means for Your API

php2shell patches (CVE-2026-109618 and CVE-2026-109619) for EOL PHP are out now. With sales replies slower than usual due to high demand, the fastest route to patched packages is to buy ELS for Runtimes online (opens in new tab). Read the patch FAQ

Go straight to an AI summary of this blog post instead

  • Summarize this post with Perplexity
  • Summarize this post with Gemini

Key Takeaways

  • LoopBack 3 reached community end of life in December 2020 and gets no upstream fixes.
  • If LoopBack came bundled with IBM API Connect, check that product’s lifecycle first.
  • LoopBack 4 is a rewrite, so the usual bump-and-fix upgrade plan does not apply.
  • Much of the risk sits in constrained transitive dependencies that npm audit fix cannot reach.

LoopBack 3 made sophisticated API development fast by combining models, connectors, access controls, and generated endpoints. Those same abstractions are why migrating to LoopBack 4 is an architectural project rather than a dependency bump.

Community support ended in December 2020. The one documented exception was critical bug and security fixes delivered through IBM API Connect, and that route has since closed along with the product versions it applied to. Meanwhile, much of what a scanner reports on a LoopBack 3 project tends to sit in the dependency tree rather than in the framework package itself.

This post is about what to do when LoopBack 3 is past end of life, the migration path amounts to a rewrite, and the API is load-bearing.

The API Framework That Encoded the Business

LoopBack 3 was good at one thing that turned out to matter a lot. You defined models, wired up connectors, and set access controls, and LoopBack generated working REST endpoints from that. Fast. Over a few years, those model definitions can quietly become the organization’s integration layer without anyone writing that down. The hard part of leaving LoopBack 3 is rarely the framework code. It’s the business logic that accreted inside model definitions, hooks, and ACLs.

Picture a logistics company with 60 REST endpoints generated from LoopBack 3 models. Two internal apps depend on them. A partner integration hits them on a schedule the partner controls. The whole thing runs on Node.js 12 inside a VM nobody wants to rebuild, because the last person who understood the boot sequence left years ago.

For a system like that, a version bump is not a migration strategy, and that changes every decision that follows. Pretend otherwise, and the likely result is a stalled migration with an unpatched API still in production.

What LoopBack 3 End of Life Actually Means

With community support gone, LoopBack 3 gets no new features and no active community bug fixing. The project README is blunt about the rest: no more pull requests and no support for community users. The long-term support policy is a shade softer, leaving room for maintainers to assess community-submitted fixes for critical bugs. Both documents point at the same narrow exception for critical fixes through IBM API Connect, and both were written while that product still had support to give.

There is also an easy-to-miss support policy underneath all this. LoopBack’s long-term support policy tied Maintenance LTS to the Node.js LTS versions supported when a release entered that phase. Once those Node.js versions reached end of maintenance, the matching LoopBack line reached the end of its maintenance period too. Adding support for new major Node.js versions was explicitly not permitted in Maintenance LTS, which is a slow way of saying the supported Node.js generation was fixed years ago.

Item LoopBack 3 status
Community EOL December 2020
New features / community fixes None
Critical security fixes Historical exception through IBM API Connect, now ended
Maintenance LTS scope Tied to Node.js LTS lines available at release
Active upstream development LoopBack 4, including the @loopback/* packages

Insider Tip: If your LoopBack came bundled through IBM API Connect v5 or v2018, check the product lifecycle before you assume there is an IBM fallback. Base support for v5 ended April 30, 2022 and for v2018 on April 30, 2023, extended support for both ended December 31, 2023, and IBM now states that neither version receives code or security fixes. That route is shut, which means the open source EOL date is not the only clock that has already run out on you.

One signal is visible straight from the public package history. The last LoopBack 3 release, [email protected], is still what npm serves, and new upstream work is concentrated on the LoopBack 4 packages. That is where the project’s attention lives.

Why LoopBack 4 Is Not LoopBack 3 with a New Number

LoopBack 4 is the current, actively developed line. It is also a ground-up rewrite. The core is TypeScript-first, built around dependency injection and an IoC container, with controllers and repositories replacing the model-and-boot-script approach that defined LoopBack 3. The extension model is different too. This is a new programming model, not a destination you reach through a package manager.

So most of the work lands in the parts of the application built around LoopBack 3’s own conventions. That usually means boot scripts and the sequence they depend on, remote methods and the operation hooks attached to them, ACL definitions encoding your permissions model, mixins and connector configuration, anything leaning on model JSON conventions, and the generated client SDKs that downstream consumers already ship.

Size the work honestly. A normal framework upgrade may be measured in sprints. A LoopBack 3 migration can easily run into quarters, and the estimate scales with how much logic lives in model definitions rather than in application code you can port cleanly.

Reality Check: “It’s just an upgrade” is the assumption that sinks these projects. Twelve endpoints with thin logic make a bounded project for a small team. Two hundred generated endpoints with ACLs encoding a permissions model make an architecture program with its own budget line, and it deserves one.

If the API feeds integrations you do not control, separate the security deadline from the rewrite deadline before you scope anything else. Those are two different clocks, and conflating them forces a rushed rewrite that your partner commitments will make you pay for.

Where the Findings Actually Come From

Open the dependency tree on a LoopBack 3 project and a pattern usually shows up fast. The framework’s own code is only part of the risk surface. The names that keep appearing sit several levels down, and depending on your connectors and your lockfile they tend to include qs, lodash, body-parser, nodemailer, strong-remoting, strong-globalize, the deprecated shortid, glob, inflight, and underscore.string. Some are direct dependencies of LoopBack packages. Many are transitive, pulled in by the ones above them.

The framework has its own advisory history, and both ends of it are instructive. The LoopBack security advisory of November 30, 2020 covered a prototype pollution issue in @loopback/rest, where JSON payloads containing constructor were accepted. Tracked as CVE-2020-4988, it affected version 8.0.0 and earlier, and the fix shipped in 9.0.0. That is LoopBack 4 code, which is rather the point, since framework-level fixes land over there now. The advisory of August 6, 2022 is the one to read if you run PostgreSQL, because it covers a critical SQL injection through the extended contains filter in loopback-connector-postgresql 5.5.0 and below. It bites when that filter can reach the connector, including datasources configured with allowExtendedProperties: true and code calling connector methods directly. Version 5.5.1 adds the input sanitization, and the advisory lists workarounds for teams that cannot upgrade yet.

Dependency Role Remediation constraint
qs, body-parser Request parsing (transitive) Often pinned by parent packages
lodash, underscore.string Utilities (transitive) Sometimes bumpable at the leaf
strong-remoting, strong-globalize LoopBack internals Pinned by the framework
shortid ID generation, where present Deprecated, and pinned by its parent
loopback-connector-postgresql PostgreSQL connector, where used Fixed in 5.5.1

Exactly what you see depends on your lockfile, your Node.js version, and your own direct dependencies. What holds across projects is the shape of it. Some of these versions are constrained by LoopBack’s package ranges or by the packages above them, which is what stops automated remediation from picking a compatible fixed version.

Watch Out: Treat npm audit fix --force as a high-risk change on a LoopBack 3 project. Plain npm audit fix only installs updates that fit your declared ranges. When a metavulnerability chain reaches the root project, clearing it can require changes outside those ranges. At that point npm wants --force, which by its own documentation installs modules outside your stated dependency range, including SemVer-major changes. On a tree this old, that is how a quiet afternoon turns into an app that will not boot. Run npm audit fix --dry-run --json first and read what it proposes.

The practical takeaway is to keep two lists. One is findings you can clear by bumping a leaf dependency. The other is findings blocked by constraints further up the tree. Those lists need completely different plans, and mixing them wastes a sprint. It is also why transitive coverage matters more here than for almost anything else you patch, since a remediation plan that leaves an applicable vulnerable dependency in place has not closed that finding.

Choosing the Right Path

There is no single correct move, but the realistic options are few. Rebuild smaller, well-tested services on LoopBack 4 when the logic is thin enough that the work is genuinely finishable. Replatform the APIs whose architecture no longer serves the business, because carrying a bad design into a new framework just buys you the same problem in TypeScript.

Secure LoopBack 3 in place when a rushed migration would create more immediate operational risk than the vulnerabilities that actually apply to your deployment. That buys time without pretending the rewrite is off the table.

For the load-bearing APIs, the strangler pattern is the concrete version of this. Put a compatibility facade in front of the LoopBack 3 API so external contracts stay stable, then move capabilities behind it one at a time. Partners keep hitting the same URL while you rebuild what sits behind it.

That window still needs patching, and what is on offer depends on the release you are sitting on. TuxCare’s Endless Lifecycle Support (ELS) currently documents LoopBack 1.10.0 and 2.42.0, shipped as drop-in replacements through a TuxCare-managed npm registry. The override list that comes with it is the interesting part for anyone reading a scan report, since it reaches down into qs, body-parser, underscore.string and the rest of the tree rather than stopping at the top-level package. If the facade is fronting a LoopBack 2 service, that is the security clock handled while the rebuild runs. On 3.x, ask about coverage for your exact release before you build it into the plan.

The short version goes like this. Thin logic and a small endpoint count mean rebuilding on LoopBack 4 and setting a date. Model-driven permissions and partner integrations mean a phased rewrite behind a facade, with the old surface kept secure for as long as its release is covered. And if LoopBack arrived through IBM API Connect, settle the product support question before anything else.

How TuxCare Handles LoopBack

TuxCare tracks the framework and its dependency tree, then works out whether each advisory actually applies to the covered release before anything gets patched. Applicability first, noise second, which matters when so much of what you are staring at is transitive.

Fixes are backported into the supported versions rather than handed over as a framework upgrade, and the packages are published as drop-in replacements for the end-of-life originals. That distinction matters, because generated endpoints are a contract other teams depend on, and a “fix” that changes response shape is a regression to everyone downstream.

The support model is documented rather than improvised. The published targets are 14 days from public disclosure for high and critical findings at CVSS 7.0 and above, 60 days for medium, and 90 days for low, with an initial response to a reported issue inside three days, all framed as commercially reasonable efforts rather than a contractual guarantee. Every package TuxCare builds ships with an SBOM, and CycloneDX VEX documents go out alongside each package version and get updated with every release, so the audit trail records which known CVEs affect a given artifact version and which do not. That traceability earns its keep in regulated environments that need a paper trail, and ticket-based written escalation provides one. TuxCare is not the upstream project and does not pretend to be. The work is disciplined backporting for production systems, after upstream attention has moved to LoopBack 4.

For live CVE status across covered packages, the TuxCare CVE tracker is the place to look.

LoopBack’s Place in the OpenJS Ecosystem

LoopBack is an OpenJS Foundation At-Large project. StrongLoop, an IBM company, contributed it to the Foundation in June 2021, and it graduated from incubation to At-Large the following year. The Foundation’s Ecosystem Sustainability Program exists so that end-of-life and older versions can get commercial coverage, with a share of partner revenue supporting participating maintainers and the Foundation’s work. TuxCare joined as a Gold member and an ESP partner, and the program is non-exclusive, so commercial coverage does not stop maintainers from supporting any version publicly, including the ones a partner covers.

LoopBack 4 may well be the right destination. But treating the route as a package update is how good teams produce bad plans.

Summary
LoopBack 3 End of Life and What It Means for Your API
Article Name
LoopBack 3 End of Life and What It Means for Your API
Description
LoopBack 3 hit end of life in 2020 and LoopBack 4 is a rewrite, not an upgrade. See the real migration cost and how TuxCare helps.
Author
Publisher Name
TuxCare
Publisher Logo

Join 4,500+ Linux & Open Source Professionals!

2x a month. No spam.

Table of Contents
Get the open-source security answers you need

Join 4,500+ Linux & Open Source Professionals!

2x a month. No spam.