p PatchFirst

PatchFirst · Aktuelle Sicherheitslücken

Sicherheitslücken in joi

In den letzten 30 Tagen veröffentlichte Sicherheitslücken für joi: 0. Davon im KEV-Katalog: 0.

Sicherheitslücken filtern
Filter zurücksetzen

Sicherheitslücken: 5

  1. CVE-2026-92599

    Hoch · CVSS 8.7EPSS 0,58%Korrektur verfügbar

    Joi before 17.13.7 and 18.2.6 ReDoS via isoDate

    joi (npm package `joi`, hapi.js) versions >=17.2.0 <17.13.7 and >=18.0.0 <18.2.6 are vulnerable to regular expression denial of service in the `Joi.string().isoDate()` validation rule. One of the regular expressions the rule applies to the input is unanchored, so a valid ISO date followed by a long run of fractional-second digits causes the regex engine to restart its search from every position in the string, yielding time proportional to the square of the input length (about 1.4 s for 64 KB of digits and about 22 s for 256 KB). A remote attacker who can supply a string to an isoDate validation can stall the application with a single request.

    • Auf 17.13.7 aktualisieren
    • Auf 18.2.6 aktualisieren
    Veröffentlicht Aktualisiert
  2. CVE-2026-90771

    Mittel · CVSS 6.3EPSS 0,39%Korrektur verfügbar

    joi before 17.13.8 and 18.2.9 Prototype Pollution via messages

    joi before versions 17.13.8 and 18.2.9 contains a prototype pollution vulnerability in the messages compilation function that accepts __proto__ as an error code. Attackers can supply __proto__ keys in custom messages to replace the returned object's prototype, breaking downstream code relying on Object.prototype methods.

    • Auf 17.13.8 aktualisieren
    • Auf 18.2.9 aktualisieren
    Veröffentlicht Aktualisiert
  3. CVE-2026-84368

    Niedrig · CVSS 3.7EPSS 0,39%Korrektur verfügbar

    joi: Prototype pollution via a `__proto__` language key in custom messages

    joi is a schema description language and data validator for JavaScript. From 16.0.0 until 17.13.6 and 18.2.5, the @hapi/joi package through 17.1.1 and the successor joi package contain prototype pollution in lib/messages.js, where exports.compile() and exports.merge() reuse inherited objects for attacker-controlled language keys supplied through messages(), message(), prefs({ messages }), Joi.extend({ messages }), or rule({ message }). A language key named __proto__ writes properties onto Object.prototype, and constructor writes to the Object function's static properties. A consuming application that gates on the presence of an inherited prop

    • Auf 17.13.6 aktualisieren
    • Auf 18.2.5 aktualisieren
    Veröffentlicht Aktualisiert
  4. CVE-2026-84367

    Niedrig · CVSS 3.7EPSS 0,39%Korrektur verfügbar

    joi: object().rename() with a template target can set the validated object's prototype

    joi is a schema description language and data validator for JavaScript. From 16.0.0 until 17.13.5 and 18.2.4, joi's lib/types/keys.js internals.rename() implementation used by object().rename() permits a schema that renames keys with a regular-expression source and a Joi.expression() or Joi.x() target that interpolates the pattern's own match data, combined with { multiple: true }, to derive a target from an attacker-controlled input key. An attacker can send x-__proto__ with an object value, causing the target to render as __proto__ and set the prototype of the object returned by validate() instead of creating an own key. The global Object.p

    • Auf 17.13.5 aktualisieren
    • Auf 18.2.4 aktualisieren
    Veröffentlicht Aktualisiert
  5. CVE-2026-48038

    Mittel · CVSS 5.3EPSS 0,52%Korrektur verfügbar

    joi: Uncaught RangeError on deeply nested input through recursive `link()` schemas

    joi is a schema description language and data validator for JavaScript. Prior to 17.13.4 and 18.2.1, denial of service is possible via an untrapped exception in services validating user-supplied JSON or object input with recursive link() schemas. When validate() is called without try/catch in a request handler, deeply nested input can trigger an unhandled RangeError and potentially crash the process; lower-impact paths using validateAsync() or try/catch produce a RangeError instead of a structured ValidationError. This issue is fixed in versions 17.13.4 and 18.2.1.

    • Auf 17.13.4 aktualisieren
    • Auf 18.2.1 aktualisieren
    Veröffentlicht Aktualisiert

Prüfen Sie Ihren Server

Gleichen Sie Ihren installierten Stack und seine Versionen mit den aktuellen Sicherheitsmeldungen ab.

Prüfen Sie Ihren Server →