Epochalypse Project

Logo

Raising awareness about the 2038 bug in all its manifestations and trying to fix things while there's still time.

FAQ — The Epochalypse Project (2036 / 2038)

This FAQ explains 2036/2038-era rollover risks as an engineering, safety, and security issue — and why “we’ll upgrade later” fails in practice.

Last updated: 2026-02-04


Contents


The Basics

What is the “Year 2038 problem”?

Many systems store time as a 32-bit signed integer counting seconds since 1970-01-01T00:00:00Z (“Unix time”, time_t). That counter reaches its maximum value and overflows at:

2038-01-19 03:14:07 UTC

After overflow, some systems may interpret time as dates in 1901, causing incorrect calculations, mis-ordered events, crashes, or other failures.

This does not mean everything fails at the same instant. It means failures will surface unevenly, often in places that are difficult to test and harder to attribute.


Is 2038 one event, or part of a sequence?

It’s part of a family of rollover boundaries:

Date Event Why it matters
2036-02-07 NTP era rollover Can surface time fragility early, especially in legacy deployments
2038-01-19 03:14:07 UTC 32-bit signed time_t rollover The classic Unix/POSIX boundary (“the big one”)
2106-02-07 Unsigned 32-bit rollover What you get if you “solve” 2038 by switching to unsigned

Key point: 2036 can reveal failure modes before 2038, especially through time synchronization dependencies.


Why isn’t this solved already?

Because it’s usually not hard — it’s invisible.

The Year 2038 problem is not unsolved because it is technically difficult.
It is unsolved because it is invisible to the systems that allocate attention, budget, and responsibility.

The remediation paths are known. What’s missing is institutional visibility, sustained coordination, and a reason for anyone to be responsible before failure.


What makes the problem persist?

Several interlocking failure modes keep it alive:

1) Invisibility at the semantic layer
32-bit time isn’t “old code.” It’s a deep assumption embedded so thoroughly that it’s treated as axiomatic.

2) Lifecycle mismatch
Software built for 3–5 year cycles is deployed into infrastructure that lasts 20–50 years.

3) Fragmented accountability
Multi-layer supply chains make “who owns the fix?” unclear.

4) Testing is hard (sometimes impossible)
You often cannot safely set production clocks forward. Lab tests help, but can’t fully replicate complex, interconnected behavior.

5) Incentives are misaligned
Costs are local, benefits are diffuse, and disclosure is legally uncomfortable.


Isn’t this “just like Y2K”?

It’s related, but different.

Also: Y2K didn’t “turn out fine by luck.” It turned out fine because of an unusually large, coordinated remediation effort.


Technical Reality

If our computers are 64-bit now, aren’t we safe?

No. This is a common misconception.

A system can run on a 64-bit OS and still fail if any layer uses 32-bit time:

“64-bit OS” is not the same as “2038-safe.”


When did 32-bit POSIX time stop being used?

It didn’t.

32-bit assumptions persist today, sometimes in modern products. This isn’t a historical artifact — it’s a copied design pattern.

The transition to 64-bit time has been gradual, inconsistent, and incomplete, especially across embedded systems, compatibility builds, and long-lived data formats.


What about AI-generated code and “vibe coding”?

Large language models are trained on decades of existing code — including decades of 32-bit time assumptions.

When developers rely on statistically common patterns, models may reproduce exactly the patterns that need remediation. Today there are few widely deployed guardrails (lint rules, static analysis, CI checks) that consistently warn: “this fails in 2038.”

The risk isn’t just legacy code. It can be actively reintroduced.


What kinds of systems are most at risk?

Not the ones people think about.

Consumer electronics turnover is fast. The risk concentrates in long-lived, low-visibility infrastructure:

Sector Typical lifetime Notes
Medical devices 10–25 years Recertification and safety constraints
Industrial control (PLCs/SCADA) 20–30 years Often no upgrade path
Transport infrastructure Decades Signaling, onboard systems
Building management 15–30 years HVAC, elevators, access control
Automotive systems 15–20 years Many ECUs; vehicles expected to last into 2038
Telecom infrastructure 10–25 years Billing, lawful intercept, synchronization
Time synchronization Indefinite Centralized defaults and shared dependencies

The devices you don’t think about are where the risk concentrates.


What’s the relationship between 2038 and NTP?

NTP has its own rollover boundary: 2036-02-07.

Patches for NTP’s rollover have existed for many years — but legacy deployments persist. As of 2025, measurement and scanning work indicates a substantial fraction of exposed NTP infrastructure still runs vulnerable implementations.

This is a practical lesson: “we have time” is not a remediation strategy.


What are the main technical fixes?

There are a few main approaches:

1) Move to 64-bit time fields (best long-term fix)
Effective for any practical timeframe, but must be end-to-end: kernel, libraries, apps, schemas, formats, and protocol boundaries.

2) Switch to unsigned 32-bit (buys time, not a cure)
Defers rollover to 2106, but breaks representation of dates before 1970 in many designs and creates a second rollover event later. This is a fallback, not a durable solution.

3) Use different representations
Examples: Windows FILETIME, calendar component types (DATETIME), ISO 8601 strings. Each has trade-offs.

4) Replace hardware
For embedded systems with no upgrade path, physical replacement is the only solution.


What’s the hardest part of remediation?

Inventory.

You cannot patch what you cannot find.

Few organizations have a complete map of every place timestamps are stored, compared, transmitted, and computed — especially across suppliers and integration points.


Security Dimensions

Is this a cybersecurity issue, or just a reliability issue?

It’s both — and the security dimension is underappreciated.

If a system stores time in a bounded representation and accepts time from attacker-influenced sources, 2038-class behavior can become analogous to a buffer overflow at the semantic layer:

Time underpins security guarantees: validity windows, expiry checks, audit trails, replay prevention, and incident reconstruction.


Can attackers exploit this before 2038?

Potentially, yes.

Time can be influenced today via:

This does not mean an attacker can “flip everything to 2038.” It means time integrity is a security boundary, and weak time synchronization can turn timekeeping bugs into operational security issues.


What are the real-world impacts?

Impacts depend on where the failure occurs, but common classes include:

A crucial concept is blast radius: does failure stay local, or cascade through dependencies?


Real-World Evidence

Are there public examples of 2038-class issues?

Yes — but public examples are rarer than they should be because disclosure incentives are terrible.

Still, there are concrete categories:

Modern software already hitting 2037 boundaries
Some calendar and scheduling systems visibly fail or refuse to schedule beyond late 2037. These examples matter because they show that modern applications can still inherit 32-bit assumptions.

Databases with documented time limits
Some database timestamp types and schemas historically encode 32-bit epoch seconds, creating boundaries that matter for long-lived records.

Time synchronization infrastructure
The 2036 NTP boundary acts as an early warning event, and legacy deployments persist despite long-available patches.

Industrial / critical infrastructure disclosures
In late 2025, public advisories and CVEs began explicitly referencing 2038-class timestamp vulnerabilities in real-world industrial devices — an important signal that this is being treated as a vulnerability class, not a calendar curiosity.

Transport: the RATP / Alstom case (France)
A rare, court-visible example:

This illustrates a common pattern: discovery is accidental, symptoms get masked, and remediation requires external pressure.


Why don’t we see more public industrial cases?

Because the system discourages speaking openly:

Result: structural silence. The people who know often can’t talk; the people who can talk often don’t know.


Governance & Coordination

Who is working on this?

There is real work happening, but coordination is fragmented.

Examples of public-facing coordination and research include:

Many engineers are working quietly inside organizations — often without an official program, budget, or mandate.


How should leaders and engineers reason about exposure?

A practical way to compare very different systems is to ask:

Dimension Question
Impact If this fails due to time, how bad is it?
Uncertainty Do we know how it behaves past the boundary, or are we guessing?
Difficulty Can we actually fix it in time?
Blast radius Does failure stay local, or cascade?

These translate directly into governance decisions: what must be fixed first, and what assumptions are currently indefensible.


Taking Action

What should I do next if I suspect exposure?

Start simple:

1) Identify where timestamps are stored (databases, logs, schemas)
2) Identify where time is imported (NTP, GPS, upstream APIs)
3) Identify where time is compared (authentication, certificate validation, schedulers)
4) Ask vendors and integrators direct questions about 2036/2038 testing
5) Treat this as an end-to-end dependency issue, not a single patch

If you operate critical infrastructure: begin with the integration layers — monitoring, analytics, logging, scheduling, identity.


Can Epochalypse help us?

Epochalypse can:

What it cannot do: provide a universal “2038 compliance stamp.” This is a systems problem; each system must be assessed in context.


About Epochalypse

What is the Epochalypse Project?

Epochalypse is a public awareness and coordination initiative focused on 2036/2038-class time risks — the technical issues, the governance failures, and the coordination problem.

It is not a company and not a formal standards body. It exists to make information accessible to the people who need it and to connect practitioners working on the problem across sectors.


Who started it?

The project is founded and maintained by Trey Darley and Pedro Umbelino, security researchers with backgrounds in vulnerability research, incident response, and long-lived infrastructure.


How can I get involved?


Glossary

Term Definition
time_t Common Unix/POSIX time representation (often 32-bit signed in legacy and embedded contexts)
NTP Network Time Protocol (time synchronization)
NTS Network Time Security (cryptographic protection for NTP)
Epoch rollover When a bounded counter wraps around and time becomes ambiguous or incorrect
Semantic primitive A foundational assumption so deep that systems treat it as “just how reality works”
Blast radius Scope of impact when a system fails: local vs cascading
2038-Class Risk Exposure Matrix An open-source qualitative risk analysis framework for comparing unlike risks across impact, uncertainty, difficulty, and blast radius

Page Last Updated: 2026-02-05