CVE-2017-9106
 
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
0Exploited in Wild
-Decision
Descriptions
An issue was discovered in adns before 1.5.2. adns_rr_info mishandles a bogus *datap. The general pattern for formatting integers is to sprintf into a fixed-size buffer. This is correct if the input is in the right range; if it isn't, the buffer may be overrun (depending on the sizes of the types on the current platform). Of course the inputs ought to be right. And there are pointers in there too, so perhaps one could say that the caller ought to check these things. It may be better to require the caller to make the pointer structure right, but to have the code here be defensive about (and tolerate with an error but without crashing) out-of-range integer values. So: it should defend each of these integer conversion sites with a check for the actual permitted range, and return adns_s_invaliddata if not. The lack of this check causes the SOA sign extension bug to be a serious security problem: the sign extended SOA value is out of range, and overruns the buffer when reconverted. This is related to sign extending SOA 32-bit integer fields, and use of a signed data type.
Se detectó un problema en adns versiones anteriores a 1.5.2. adns_rr_info maneja inapropiadamente un *datap falso. El patrón general para formatear enteros es sprintf en un búfer de tamaño fijo. Esto es correcto si la entrada está en el rango correcto; de lo contrario, el búfer puede estar desbordado (dependiendo del tamaño de los tipos en la plataforma actual). Por supuesto, las entradas deben ser correctas. Y existen indicadores allí también, así que quizás se podría decir que la persona que llama debe comprobar estas cosas. Puede ser mejor requerir que la persona que llama haga que la estructura del puntero sea correcta, pero que el código aquí sea defensivo sobre (y tolere con un error pero sin bloquear) valores enteros fuera de rango. Por lo tanto: debe defender cada uno de estos sitios de conversión de enteros con una comprobación del rango real permitido y devolver adns_s_invaliddata si no lo hace. La falta de esta comprobación hace que el error de extensión de signo de SOA sea un problema de seguridad grave: el valor de SOA extendido de signo está fuera de rango y supera el búfer cuando se reconvierte. Esto está relacionado con el signo que extiende los campos enteros SOA de 32 bits y el uso de un tipo de datos con signo
CVSS Scores
SSVC
- Decision:-
Timeline
- 2017-05-21 CVE Reserved
- 2020-06-18 CVE Published
- 2023-03-07 EPSS Updated
- 2024-08-05 CVE Updated
- ---------- Exploited in Wild
- ---------- KEV Due Date
- ---------- First Exploit
CWE
- CWE-119: Improper Restriction of Operations within the Bounds of a Memory Buffer
CAPEC
References (5)
URL | Tag | Source |
---|---|---|
http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=adns.git | Third Party Advisory | |
http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=adns.git%3Ba=blob%3Bf=changelog | X_refsource_confirm | |
https://www.chiark.greenend.org.uk/pipermail/adns-announce/2020/000004.html | Release Notes |
URL | Date | SRC |
---|
URL | Date | SRC |
---|
Affected Vendors, Products, and Versions
Vendor | Product | Version | Other | Status | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Vendor | Product | Version | Other | Status | <-- --> | Vendor | Product | Version | Other | Status |
Gnu Search vendor "Gnu" | Adns Search vendor "Gnu" for product "Adns" | < 1.5.2 Search vendor "Gnu" for product "Adns" and version " < 1.5.2" | - |
Affected
| ||||||
Fedoraproject Search vendor "Fedoraproject" | Fedora Search vendor "Fedoraproject" for product "Fedora" | 31 Search vendor "Fedoraproject" for product "Fedora" and version "31" | - |
Affected
| ||||||
Fedoraproject Search vendor "Fedoraproject" | Fedora Search vendor "Fedoraproject" for product "Fedora" | 32 Search vendor "Fedoraproject" for product "Fedora" and version "32" | - |
Affected
|