Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

redhat логотип

CVE-2019-14842

Опубликовано: 09 окт. 2019
Источник: redhat
CVSS3: 7.3

Описание

Structured reply is a feature of the newstyle NBD protocol allowing the server to send a reply in chunks. A bounds check which was supposed to test for chunk offsets smaller than the beginning of the request did not work because of signed/unsigned confusion. If one of these chunks contains a negative offset then data under control of the server is written to memory before the read buffer supplied by the client. If the read buffer is located on the stack then this allows the stack return address from nbd_pread() to be trivially modified, allowing arbitrary code execution under the control of the server. If the buffer is located on the heap then other memory objects before the buffer can be overwritten, which again would usually lead to arbitrary code execution.

A bounds check vulnerability was found in libnbd's structured reply feature where the check was supposed to test for chunk offsets smaller than the beginning of the request but did not work because of signed/unsigned confusion. Structured reply is a feature of the newstyle NBD protocol allowing the server to send a reply in chunks. If one of these chunks contains a negative offset, then data under control of the server is written to memory before the read buffer supplied by the client. If the read buffer is located on the stack then this allows the stack, the return address from nbd_pread() to be trivially modified, allowing arbitrary code execution under the control of the server. If the buffer is located on the heap then other memory objects before the buffer can be overwritten, which again would usually lead to arbitrary code execution.

Отчет

This vulnerability does not affect any package in a commercially supported Red Hat product. Refer to the dependent bugs for status of those individual community products.

Дополнительная информация

Статус:

Moderate
Дефект:
CWE-681
https://bugzilla.redhat.com/show_bug.cgi?id=1776860libnbd: remote code execution vulnerability

7.3 High

CVSS3

Связанные уязвимости

CVSS3: 9.8
ubuntu
около 6 лет назад

Structured reply is a feature of the newstyle NBD protocol allowing the server to send a reply in chunks. A bounds check which was supposed to test for chunk offsets smaller than the beginning of the request did not work because of signed/unsigned confusion. If one of these chunks contains a negative offset then data under control of the server is written to memory before the read buffer supplied by the client. If the read buffer is located on the stack then this allows the stack return address from nbd_pread() to be trivially modified, allowing arbitrary code execution under the control of the server. If the buffer is located on the heap then other memory objects before the buffer can be overwritten, which again would usually lead to arbitrary code execution.

CVSS3: 9.8
nvd
около 6 лет назад

Structured reply is a feature of the newstyle NBD protocol allowing the server to send a reply in chunks. A bounds check which was supposed to test for chunk offsets smaller than the beginning of the request did not work because of signed/unsigned confusion. If one of these chunks contains a negative offset then data under control of the server is written to memory before the read buffer supplied by the client. If the read buffer is located on the stack then this allows the stack return address from nbd_pread() to be trivially modified, allowing arbitrary code execution under the control of the server. If the buffer is located on the heap then other memory objects before the buffer can be overwritten, which again would usually lead to arbitrary code execution.

CVSS3: 9.8
debian
около 6 лет назад

Structured reply is a feature of the newstyle NBD protocol allowing th ...

CVSS3: 9.8
github
больше 3 лет назад

Structured reply is a feature of the newstyle NBD protocol allowing the server to send a reply in chunks. A bounds check which was supposed to test for chunk offsets smaller than the beginning of the request did not work because of signed/unsigned confusion. If one of these chunks contains a negative offset then data under control of the server is written to memory before the read buffer supplied by the client. If the read buffer is located on the stack then this allows the stack return address from nbd_pread() to be trivially modified, allowing arbitrary code execution under the control of the server. If the buffer is located on the heap then other memory objects before the buffer can be overwritten, which again would usually lead to arbitrary code execution.

7.3 High

CVSS3