Eric Meadows-Jönsson

#1088من 57,935
212.3إجمالي CVSS
الثغرات · 34
منخفضة
6
متوسطة
16
عالية
11
حرجة
1
PT-2026-114358
5.9
2026-10-14
Erlang · Otp · CVE-2026-96596
**اسم البرنامج المصاب والإصدارات المتأثرة** Erlang OTP الإصدارات من 29.0 إلى 29.1.1 stdlib الإصدارات من 8.0 إلى 8.1.0 hex الإصدارات من 2.4.2 إلى 2.5.2 hex core الإصدارات من 0.14.0 إلى 0.20.0 rebar3 الإصدارات 3.27.1 وما بعدها **Description** توجد مشكلة حلقة مفرغة (Infinite Loop) في وحدة `erl tar` (وبدائلها `hex erl tar` و `mix hex erl tar` و `r3 hex erl tar`) عند استخراج أرشيفات tar. يمكن للمهاجم التسبب في حالة حجب الخدمة عن طريق تقديم عضو GNU sparse مصمم خصيصاً حيث تنتهي خريطة التباعد قبل الحجم الفعلي للعضو. أثناء الاستخراج، تستخدم الدالة `erl tar:extract/1,2` الدالة `erl tar:stream to file loop/3` لقراءة البيانات في كتل. في الإصدارات المتأثرة، تطابق الدالة `erl tar:do sparse read/3` بند trailing-hole قبل بند الطول الصفري، مما يؤدي إلى تكرار غير محدود يستهلك المجدول (scheduler) ويجعل العملية مشغولة إلى أجل غير مسمى. يمكن تفعيل ذلك باستخدام أرشيف بحجم 2048 بايت فقط. يمنع خيار `{max size, N}` ذلك فقط عندما تكون قيمة N أقل من الحجم الفعلي للعضو. أما الاستخراج باستخدام خيار `memory` فلا يتأثر بهذه المشكلة. **Recommendations** تحديث Erlang OTP إلى الإصدار 29.1.2 أو أحدث. تحديث stdlib إلى الإصدار 8.1.1 أو أحدث. تحديث hex إلى الإصدار 2.5.3 أو أحدث. تحديث hex core إلى الإصدار 0.20.1 أو أحدث. تحديث rebar3 إلى إصدار يتضمن الإصلاح. كإجراء مؤقت، قم بتمرير `{chunks, N}` و `{max size, N}` بنفس القيمة N إلى `erl tar:extract/2` لضمان رفض أي عضو أكبر من N وقراءة الأعضاء المتبقية في استدعاء واحد. بدلاً من ذلك، استخدم خيار `memory` للاستخراج ثم قم بكتابة الملفات الناتجة إلى القرص يدوياً.
PT-2026-110581
5.9
2026-10-12
Ericsson · Erlang/Otp · CVE-2026-103502
**Name of the Vulnerable Software and Affected Versions** hex core versions 0.1.0 through 0.19.9 **Description** Improper certificate validation in hex core allows an attacker capable of intercepting HTTPS connections to impersonate hex.pm, repo.hex.pm, or other repository and API servers. This occurs when programs use the default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates cannot be loaded. The issue stems from the `hex core:default config/0` function selecting the `hex http httpc` adapter. When `hex http httpc:http options/2` attempts to verify the server certificate using `public key:cacerts get/0`, a failure in that call (which happens by default on OTP 24 or when no CA store is found on OTP 25) causes the adapter to send the request without `ssl` options. Consequently, the `ssl` application uses defaults that do not verify the server certificate on versions prior to OTP 26. Versions of hex core before 0.11.0 are affected on all OTP versions prior to 26 regardless of CA store availability because they never set `ssl` options. An attacker on the network path can complete the TLS handshake with any certificate, allowing them to intercept API keys, OAuth tokens, and repository keys, as well as alter API requests and responses. **Recommendations** Upgrade hex core to version 0.20.0 or later. As a temporary workaround, pass `ssl` options that verify the server certificate in the adapter config, such as `{hex http httpc, #{http options => [{ssl, SslOpts}]}}`. As a temporary workaround, use an alternative HTTP adapter instead of the default `hex http httpc` adapter. As a temporary workaround, run the application on OTP 26 or later.
PT-2026-110633
7.1
2026-10-12
Hexpm Hex · Hexpm Hex · CVE-2026-105668
**Name of the Vulnerable Software and Affected Versions** hexpm hex versions 2.5.0 through 2.5.1 **Description** A protection mechanism failure allows a package owner or an attacker with account access to bypass the release-age cooldown. The cooldown, configured via `cooldown` or `HEX COOLDOWN`, normally withholds versions younger than a specific age during dependency resolution. However, when a release locked in `mix.lock` is retired or has a security advisory, the functions `Hex.RemoteConverger.build cooldown bypass/3` and `Hex.RemoteConverger.unsafe lock bypass/1` lift the cooldown for that package and its dependencies to allow `mix deps.update` to move to a safe release. Because `Hex.Registry.Cooldown.versions/2` checks the bypass by package name alone, an attacker can publish a malicious release and retire the currently locked version, forcing the system to select the new malicious release regardless of its age. This bypass also extends to packages with the same name in other repositories. This issue does not affect cooldowns configured through organization dependency policies. **Recommendations** Update hexpm hex to version 2.5.2 or later using `mix local.hex`. Enforce the cooldown through an organization dependency policy instead of the local `cooldown` setting. Run `mix hex.audit` before `mix deps.update` and avoid updating packages whose locked release was retired until the replacement has been reviewed.
PT-2026-110652
2.1
2026-10-12
Hexpm · Hex · CVE-2026-96618
**Name of the Vulnerable Software and Affected Versions** hexpm hex versions 0.11.2 through 2.5.1 **Description** An improper handling of highly compressed data, known as data amplification, allows an untrusted package mirror to exhaust the memory or disk space of a machine running `mix deps.get`, `mix deps.update`, `mix hex.package fetch`, or `mix hex.docs fetch`. This occurs when a mirror is configured via `HEX MIRROR URL`, `HEX MIRROR`, or `mirror url`. Technical details include: - The function `Hex.HTTP.request/5` reads the entire response body into memory and decompresses it using `:zlib.gunzip/1` if the `Content-Encoding` contains `gzip`, without limits on compressed or decompressed size. This affects registry, package, docs, and API responses. - Package tarballs lack download size limits. In version 2.5.1, the entire tarball is held in memory and written to cache before the 16 MiB limit is checked during unpacking. - The commands `mix hex.docs fetch` and `mix hex.docs offline` write docs tarballs to disk and extract them using `:mix hex erl tar.extract/2` without applying the 16 MiB compressed and 128 MiB decompressed limits used by `mix hex tarball:unpack docs/3`. - Registry responses are decompressed before their signatures are verified. **Recommendations** Upgrade hexpm hex to version 2.5.2 or later using `mix local.hex`. As a temporary workaround, fetch packages only from repo.hex.pm or a mirror you operate. Run Mix under operating system memory and disk limits, such as container limits, to confine the impact.
PT-2026-84260
6.3
2026-09-01
Unknown · Erlang/Otp · CVE-2026-70405
**Name of the Vulnerable Software and Affected Versions** Erlang/OTP versions 17.0 through 27.3.4.16 Erlang/OTP versions 28.0 through 28.5.0.5 Erlang/OTP versions 29.0 through 29.0.5 snmp versions 4.25.1 through 5.18.2.0 snmp versions 5.19 through 5.20.2.1 snmp versions 5.20.3 through 5.20.4 **Description** Improper validation of the specified quantity in input within the snmp module allows a remote attacker to degrade availability. An attacker can send an SNMP message containing a BER INTEGER with an arbitrarily large length field. The function `snmp pdus:dec integer notag/1` defaults its size limit to infinity, and `do dec integer notag/2` accumulates the value across every declared byte using a recursive shift and bitwise or. This causes the workload to grow superlinearly as each operation acts on a progressively larger bignum. While a size-limited variant `dec integer notag/2` exists, it is only used by `dec snmp version/1`. Other fields, including the request identifier, error status, index, generic and specific trap fields, engine boots, time, and varbind values decoded by `dec value/1`, use the unbounded form. The decoding occurs before the PDU is processed, meaning no valid request is required to trigger the issue. **Recommendations** Update Erlang/OTP to version 27.3.4.17 or later. Update Erlang/OTP to version 28.5.0.6 or later. Update Erlang/OTP to version 29.0.6 or later. Update snmp to version 5.18.2.1 or later. Update snmp to version 5.20.2.2 or later. Update snmp to version 5.20.5 or later.