---
id: CVE-2026-87768
title: >-
  DateTime::Lite versions before 0.8.1 for Perl allow CPU exhaustion via a
  per-day loop when adding seconds
summary: >-
  DateTime::Lite versions before 0.8.1 for Perl allow CPU exhaustion via a
  per-day loop when adding seconds.


  _normalize_leap_seconds crosses day boundaries one day at a time, so
  add(seconds => $n) on an object with a non-floating time zon…
severity: high
cvss: 7.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'
cvssSource: adp
cwe:
  - CWE-407
product: DateTime-Lite
affected:
  - DateTime-Lite < 0.8.1
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: partial
  timestamp: '2026-11-06T16:37:04.850694Z'
published: '2026-10-30'
updated: '2026-11-06'
sourceUpdated: '2026-11-06T16:37:51.953Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-87768'
references:
  - url: 'https://metacpan.org/release/JDEGUEST/DateTime-Lite-v0.8.1/changes'
tags:
  - cve.org
epss: 0.00424
epssPercentile: 0.36933
ingestedAt: '2026-11-05T16:07:30.323Z'
---

## Overview

DateTime::Lite versions before 0.8.1 for Perl allow CPU exhaustion via a per-day loop when adding seconds.

_normalize_leap_seconds crosses day boundaries one day at a time, so add(seconds => $n) on an object with a non-floating time zone takes about |$n|/86400 iterations, and nothing limits $n. The XS implementation and the pure-Perl fallback both have the loop.

An attacker who controls the number of seconds added can keep the process busy for as long as they choose.

## Affected

- `DateTime-Lite < 0.8.1`

## Remediation

Upgrade to DateTime-Lite v0.8.1 or later.
