CWE-789
Memory Allocation with Excessive Size Value
Produkt przydziela pamięć na podstawie niezaufanej, dużej wartości rozmiaru, ale nie sprawdza, czy rozmiar mieści się w oczekiwanych limitach. Pozwala to na przydzielenie arbitralnie dużych ilości pamięci.
The product allocates memory based on an untrusted, large size value, but it does not ensure that the size is within expected limits, allowing arbitrary amounts of memory to be allocated.
Biblioteka Imager dla języka Perl w wersjach przed 1.033 błędnie interpretuje liczbę wpisów IFD w danych EXIF, traktując wartości bez znaku jako liczby ze znakiem. Umożliwia to atakującemu spreparowanie obrazu, który powoduje awarię procesu roboczego.
W aplikacji Raffle Draw System v1.0 wykryto podatność typu SQL injection w pliku get_ticket.php, umożliwiającą atakującemu manipulację zapytaniami do bazy danych bez jakiegokolwiek uwierzytelnienia. Ze względu na sieciową dostępność i brak wymaganych uprawnień podatność stanowi krytyczne zagrożenie dla poufności, integralności i dostępności danych.
Uwierzytelniony użytkownik może wywołać awarię serwera Navidrome, podając nadmiernie dużą wartość parametru rozmiaru obrazka w żądaniach do endpointów obsługujących okładki albumów lub współdzielone obrazy. Podatność prowadzi do pełnej niedostępności usługi (DoS) oraz potencjalnego wyczerpania przestrzeni dyskowej serwera.
Podatność w serwerze VTPM (Virtual TPM) platformy Linux Foundation Edge Virtualization Engine (EVE) umożliwia atakującemu przepełnienie bufora na stosie poprzez wysłanie spreparowanego nagłówka z zawyżonym rozmiarem danych. Ze względu na bardzo wysokie uprawnienia procesu vtpm_server, skuteczne wykorzystanie luki może prowadzić do przejęcia kontroli nad systemem.
Binary provides encoding/decoding in Borsh and other formats. The vulnerability is a memory allocation vulnerability that can be exploited to allocate slices in memory with (arbitrary) excessive size value, which can either exhaust available memory or crash the whole program. When using `github.com/gagliardetto/binary` to parse unchecked (or wrong type of) data from untrusted sources of input (e.g. the blockchain) into slices, it's possible to allocate memory with excessive size. When `dec.Decode(&val)` method is used to parse data into a structure that is or contains slices of values, the length of the slice was previously read directly from the data itself without any checks on the size of it, and then a slice was allocated. This could lead to an overflow and an allocation of memory with excessive size value. Users should upgrade to `v0.7.1` or higher. A workaround is not to rely on the `dec.Decode(&val)` function to parse the data, but to use a custom `UnmarshalWithDecoder()` method that reads and checks the length of any slice.
This vulnerability allows local attackers to escalate privileges on affected installations of Parallels Desktop 16.1.3-49160. An attacker must first obtain the ability to execute low-privileged code on the target guest system in order to exploit this vulnerability. The specific flaw exists within the Toolgate component. The issue results from the lack of proper validation of user-supplied data, which can result in an uncontrolled memory allocation. An attacker can leverage this vulnerability to escalate privileges and execute arbitrary code in the context of the hypervisor. Was ZDI-CAN-13712.
This vulnerability allows local attackers to escalate privileges on affected installations of Parallels Desktop 16.1.3-49160. An attacker must first obtain the ability to execute low-privileged code on the target guest system in order to exploit this vulnerability. The specific flaw exists within the Toolgate component. The issue results from the lack of proper validation of user-supplied data, which can result in an uncontrolled memory allocation. An attacker can leverage this vulnerability to escalate privileges and execute arbitrary code in the context of the hypervisor. Was ZDI-CAN-13797.
MOOS core-moos through 10.4.0 fails to validate packet length declarations in CMOOSCommPkt::OnBytesWritten(), allowing unauthenticated attackers to trigger unbounded buffer allocation by sending crafted wire packets. Attackers can send packets with large declared lengths to exhaust server memory and cause denial of service before client authentication completes.
MOOS-IvP through 24.8.1 contains a denial of service vulnerability in the Demuxer::addMuxPacket() function that trusts the packet count declared in mux headers without validation. Attackers can declare arbitrarily large packet counts to trigger unbounded memory allocation, exhausting system resources and causing service unavailability.
openssl_encrypt (pip: openssl-encrypt) versions 1.4.8 and earlier fail to validate the 36-bit STREAMINFO total_samples field of FLAC files before using it to size an allocation (np.random.randint(size=(total_samples, channels))). A ~50-byte crafted FLAC file declaring ~100 million samples causes a multi-gigabyte memory allocation, leading to out-of-memory denial of service during 'decrypt --stego-extract'. The issue is fixed in 1.4.9; both the 1.4.x and 1.5.x lines are affected.
openssl_encrypt before 1.4.9 fails to validate the total field from QR JSON payloads before materializing ranges. Attackers can supply crafted QR images with extremely large total values to trigger unbounded memory allocation and cause denial of service through out-of-memory conditions.
kin-openapi is a Go project for handling OpenAPI files. From 0.124.0 until 0.142.0, openapi3filter.sliceMapToSlice in openapi3filter/req_resp_decoder.go converts attacker-controlled sparse indexes from a deepObject query parameter into a dense slice by allocating entries from zero through the largest supplied index, after which buildResObj creates another slice of the same length. This allocation occurs before schema validation, so maxItems does not prevent it. An unauthenticated client can send a small query such as param[items][50000000]=x to an endpoint whose deepObject schema contains an array, forcing multi-gigabyte heap allocation and causing an OOM kill or restart loop. Other request-body encodings and styled parameters that do not produce bracketed integer indexes are not affected. This issue is fixed in version 0.142.0.
The RabbitMQ Java client library allows Java and JVM-based applications to connect to and interact with RabbitMQ nodes. Prior to 5.33.1, src/main/java/com/rabbitmq/client/impl/ValueReader.java uses ValueReader.readBytes to accept a wire-declared contentLength below Integer.MAX_VALUE and allocate a byte array before checking the bytes available in the frame. A malicious AMQP peer can send a LongString or byte-array field with type tag S and a declared length such as 0x7FFFFFFE during the pre-authentication connection.start server-properties table, causing an approximately 2 GB allocation and OutOfMemoryError before readFully consumes data. The resulting memory exhaustion can terminate the JVM and cause denial of service. This issue is fixed in version 5.33.1.
Uncontrolled memory allocation in the binary Ion stream cursor in Amazon ion-java before 1.12.0 might allow remote actors to cause a denial of service via a crafted Ion binary document containing a declared-length field that causes excessive heap preallocation. To remediate this issue, users should upgrade to version 1.12.0.
Sonic 3 A.I.R. przed commitem 2492d18 zawiera podatność nieograniczonej alokacji pamięci w funkcji ReceivedPacketCache::enqueuePacket(), umożliwiającą nieuwierzytelnionemu atakującemu zdalnie wywołanie awarii procesu serwerowego. Wystarczy przesłanie jednego spreparowanego pakietu UDP, co czyni tę lukę szczególnie łatwą do wykorzystania.
Podatność w Veeam Service Provider Console umożliwia nieuwierzytelnionemu atakującemu zdalne wyczerpanie pamięci hosta, co prowadzi do odmowy usługi (DoS). Zagrożenie jest szczególnie istotne, ponieważ atak nie wymaga żadnych danych uwierzytelniających ani interakcji użytkownika.
W bibliotece Bouncy Castle for Java przed wersją 1.85 dekoder protokołu MLS (Messaging Layer Security) alokuje pamięć zgodnie z zadeklarowaną przez atakującego długością danych przed wykonaniem sprawdzenia granic. Umożliwia to zdalnemu, nieuwierzytelnionemu atakującemu wywołanie odmowy usługi (DoS).
Podatność w bibliotece Bouncy Castle dla Java umożliwia nieograniczoną alokację pamięci z góry podczas odczytu danych o określonej długości (definite-length read), co może doprowadzić do wyczerpania pamięci (Out of Memory). Skutkuje to odmową usługi (DoS) dla aplikacji korzystających z tej biblioteki.
W bibliotece Bouncy Castle for Java liczba poziomów klucza publicznego HSS nie jest ograniczona, co umożliwia atakującemu wywołanie ogromnej alokacji pamięci podczas operacji weryfikacji. Podatność może prowadzić do odmowy usługi (DoS) w aplikacjach korzystających z tej biblioteki.
Biblioteka Bouncy Castle for Java zawiera podatność w mechanizmie składania fragmentów handshake protokołu DTLS, gdzie bufor jest alokowany na podstawie niezweryfikowanej 24-bitowej wartości długości. Umożliwia to zdalnemu, nieuwierzytelnionemu atakującemu wywołanie wyczerpania pamięci i niedostępności usługi (DoS).