Every CVESearch/Get API key

GHSA-h5fq-653g-gxrm

ots has a negative expire override that can bypass its secret retention policy

5.3 MediumFix available

GHSA-h5fq-653g-gxrm is a medium vulnerability (CVSS 5.3) in github.com/Luzifer/ots, published May 5, 2026. No source lists public exploit code. Fixed in github.com/Luzifer/ots 1.21.5.

What does this mean?
Severity
5.3 MediumCVSS 3.1, GitHub Advisories
Exploit chance
UnscoredNo EPSS score yet
Exploitation
None knownNot on CISA’s or ENISA’s lists

Description

Summary

The /api/create endpoint accepted negative expire query values. For the memory storage backend, negative values were passed to secret creation as a negative duration and treated as no expiry, allowing callers to create secrets that persisted longer than intended.

Impact

Unauthenticated users could bypass configured retention expectations for secrets they create by sending POST /api/create?expire=-1.

This does not allow reading or modifying secrets created by other users. Secrets remain one-time-read and, in the normal web flow, client-side encrypted.

Affected versions

Versions up to and including v1.21.4 are affected.

Patched versions

Fixed in v1.21.5.

Workarounds

Disable expiry overrides via disableExpiryOverride: true until upgrading.

Credit

Reported by Chai Cheng Xun via email.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
Low
Integrity
None
Availability
None

Affected packages

Affected packages
PackageAffectedFixed
github.com/Luzifer/ots
Go
through 1.21.4
1.21.5
github.com/Luzifer/ots
Go
before 1.21.5
1.21.5

What each source reports

GitHub Advisories Score used5.3

ots has a negative expire override that can bypass its secret retention policy

Summary

The /api/create endpoint accepted negative expire query values. For the memory storage backend, negative values were passed to secret creation as a negative duration and treated as no expiry, allowing callers to create secrets that persisted longer than intended.

Impact

Unauthenticated users could bypass configured retention expectations for secrets they create by sending POST /api/create?expire=-1.

This does not allow reading or modifying secrets created by other users. Secrets remain one-time-read and, in the normal web flow, client-side encrypted.

Affected versions

Versions up to and including v1.21.4 are affected.

Patched versions

Fixed in v1.21.5.

Workarounds

Disable expiry overrides via disableExpiryOverride: true until upgrading.

Credit

Reported by Chai Cheng Xun via email.

Record
GHSA-h5fq-653g-gxrm
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Weakness
CWE-20
Updated
2026-11-02
OSV5.3

ots has a negative expire override that can bypass its secret retention policy

Summary

The /api/create endpoint accepted negative expire query values. For the memory storage backend, negative values were passed to secret creation as a negative duration and treated as no expiry, allowing callers to create secrets that persisted longer than intended.

Impact

Unauthenticated users could bypass configured retention expectations for secrets they create by sending POST /api/create?expire=-1.

This does not allow reading or modifying secrets created by other users. Secrets remain one-time-read and, in the normal web flow, client-side encrypted.

Affected versions

Versions up to and including v1.21.4 are affected.

Patched versions

Fixed in v1.21.5.

Workarounds

Disable expiry overrides via disableExpiryOverride: true until upgrading.

Credit

Reported by Chai Cheng Xun via email.

Record
GHSA-h5fq-653g-gxrm
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Weakness
CWE-20
Updated
2026-11-02
OSVGO-2026-5413No score

ots has a negative expire override that can bypass its secret retention policy in github.com/Luzifer/ots

ots has a negative expire override that can bypass its secret retention policy in github.com/Luzifer/ots

Record
GO-2026-5413
Updated
2026-11-02

History

History
RecordedChangedSources
first indexedGitHub Advisories, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

References

MoveEnter Open