CVE-2017-9106
An issue was discovered in adns before 1.5.2. adns_rr_info mishandles a bogus *datap. The general...
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
7.5
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.
- Record
CVE-2017-9106- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - CVSS 2.0
- 5.0 Medium
AV:N/AC:L/Au:N/C:N/I:N/A:P - Weakness
- CWE-119
- Updated
- 2026-11-02
CVE List No score
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.
- Record
CVE-2017-9106- Updated
- 2026-11-02
EUVDEUVD-2017-18044 No score
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.
- Record
EUVD-2017-18044- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-chm6-j4h2-5qc7
7.5
An issue was discovered in adns before 1.5.2. adns_rr_info mishandles a bogus *datap. The general...
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.
- Record
GHSA-chm6-j4h2-5qc7- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-119
- Updated
- 2026-11-02
OSV
7.5
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.
- Record
CVE-2017-9106- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2017-9106
7.5
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.
- Record
DEBIAN-CVE-2017-9106- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
Show 5 moreShow less
OSVUBUNTU-CVE-2017-9106
7.5
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.
- Record
UBUNTU-CVE-2017-9106- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVopenSUSE-SU-2020:0827-1 No score
Security update for adns
This update for adns fixes the following issues:
- CVE-2017-9103,CVE-2017-9104,CVE-2017-9105,CVE-2017-9109: Fixed an issue in local recursive resolver which could have led to remote code execution (bsc#1172265).
- CVE-2017-9106: Fixed an issue with upstream DNS data sources which could have led to denial of service (bsc#1172265).
- CVE-2017-9107: Fixed an issue when quering domain names which could have led to denial of service (bsc#1172265).
- CVE-2017-9108: Fixed an issue which could have led to denial of service (bsc#1172265).
This update was imported from the SUSE:SLE-15:Update update project.
- Record
openSUSE-SU-2020:0827-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10612-1 No score
adns-1.6.0-1.8 on GA media
These are all security issues fixed in the adns-1.6.0-1.8 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10612-1- Updated
- 2026-11-02
OSVSUSE-SU-2020:14399-1 No score
Security update for adns
This update for adns fixes the following issues:
- CVE-2017-9103,CVE-2017-9104,CVE-2017-9105,CVE-2017-9109: Fixed an issue in local recursive resolver which could have led to remote code execution (bsc#1172265).
- CVE-2017-9106: Fixed an issue with upstream DNS data sources which could have led to denial of service (bsc#1172265).
- CVE-2017-9107: Fixed an issue when quering domain names which could have led to denial of service (bsc#1172265).
- CVE-2017-9108: Fixed an issue which could have led to denial of service (bsc#1172265).
- Record
SUSE-SU-2020:14399-1- Updated
- 2026-11-02
OSVSUSE-SU-2020:1612-1 No score
Security update for adns
This update for adns fixes the following issues:
- CVE-2017-9103,CVE-2017-9104,CVE-2017-9105,CVE-2017-9109: Fixed an issue in local recursive resolver which could have led to remote code execution (bsc#1172265).
- CVE-2017-9106: Fixed an issue with upstream DNS data sources which could have led to denial of service (bsc#1172265).
- CVE-2017-9107: Fixed an issue when quering domain names which could have led to denial of service (bsc#1172265).
- CVE-2017-9108: Fixed an issue which could have led to denial of service (bsc#1172265).
- Record
SUSE-SU-2020:1612-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
adnsDebian:12 |
before 1.6.0-2 | 1.6.0-2 |
adnsDebian:13 |
before 1.6.0-2 | 1.6.0-2 |
adnsDebian:14 |
before 1.6.0-2 | 1.6.0-2 |
adnsSUSE:Linux Enterprise Point of Sale 11 SP3 |
before 1.4-75.3.1 | 1.4-75.3.1 |
adnsSUSE:Linux Enterprise Server 11 SP4-LTSS |
before 1.4-75.3.1 | 1.4-75.3.1 |
adnsSUSE:HPE Helion OpenStack 8 |
before 1.4-103.3.1 | 1.4-103.3.1 |
adnsSUSE:OpenStack Cloud 7 |
before 1.4-103.3.1 | 1.4-103.3.1 |
adnsSUSE:OpenStack Cloud 8 |
before 1.4-103.3.1 | 1.4-103.3.1 |
adnsSUSE:OpenStack Cloud Crowbar 8 |
before 1.4-103.3.1 | 1.4-103.3.1 |
adnsSUSE:Linux Enterprise Server for SAP Applications 12 SP2 |
before 1.4-103.3.1 | 1.4-103.3.1 |
Show 16 moreShow less
| Package | Affected | Fixed |
|---|---|---|
adnsSUSE:Linux Enterprise Server for SAP Applications 12 SP3 |
before 1.4-103.3.1 | 1.4-103.3.1 |
adnsSUSE:Linux Enterprise Software Development Kit 12 SP4 |
before 1.4-103.3.1 | 1.4-103.3.1 |
adnsSUSE:Linux Enterprise Software Development Kit 12 SP5 |
before 1.4-103.3.1 | 1.4-103.3.1 |
adnsSUSE:Linux Enterprise Server 12 SP2-LTSS |
before 1.4-103.3.1 | 1.4-103.3.1 |
adnsSUSE:Linux Enterprise Server 12 SP2-BCL |
before 1.4-103.3.1 | 1.4-103.3.1 |
adnsSUSE:Linux Enterprise Server 12 SP3-LTSS |
before 1.4-103.3.1 | 1.4-103.3.1 |
adnsSUSE:Linux Enterprise Server 12 SP3-BCL |
before 1.4-103.3.1 | 1.4-103.3.1 |
adnsSUSE:Linux Enterprise Server 12 SP4 |
before 1.4-103.3.1 | 1.4-103.3.1 |
adnsSUSE:Linux Enterprise Server for SAP Applications 12 SP4 |
before 1.4-103.3.1 | 1.4-103.3.1 |
adnsSUSE:Linux Enterprise Server 12 SP5 |
before 1.4-103.3.1 | 1.4-103.3.1 |
adnsSUSE:Linux Enterprise Server for SAP Applications 12 SP5 |
before 1.4-103.3.1 | 1.4-103.3.1 |
adnsSUSE:Enterprise Storage 5 |
before 1.4-103.3.1 | 1.4-103.3.1 |
adnsUbuntu:16.04:LTS |
All versions, plus listed versions 1.5.0~rc1-1ubuntu1 |
None known |
adnsUbuntu:18.04:LTS |
All versions, plus listed versions 1.5.0~rc1-1ubuntu11.5.0~rc1-1.1ubuntu1 |
None known |
adnsUbuntu:20.04:LTS |
All versions, plus listed versions 1.5.1-0.1 |
None known |
adnsopenSUSE:Leap 15.1 |
before 1.5.1-lp151.3.3.1 | 1.5.1-lp151.3.3.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2017-9106 is a high vulnerability (CVSS 7.5) in Gnu Adns, published June 12, 2020. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.87%, the 79th percentile. Fixed in adns 1.6.0-2.
References
chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=adns.git
chiark.greenend.org.uk/pipermail/adns-announce/2020/000004.html
chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=adns.git%3Ba=blob%3Bf=changelog
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/TRVHN3GGVNQWAOL3PWC5FLAV7HUESLZR
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/UGFZ4SPV6KFQK6ZNUZFB5Y32OYFOM5YJ
nvd.nist.gov/vuln/detail/CVE-2017-9106
Show 20 moreShow less
lists.fedoraproject.org/archives/list/[email protected]/message/TRVHN3GGVNQWAOL3PWC5FLAV7HUESLZR
lists.fedoraproject.org/archives/list/[email protected]/message/UGFZ4SPV6KFQK6ZNUZFB5Y32OYFOM5YJ
chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=adns.git;a=blob;f=changelog
github.com/advisories/GHSA-chm6-j4h2-5qc7
security-tracker.debian.org/tracker/CVE-2017-9106
suse.com/support/update/announcement/2020/suse-su-202014399-1
bugzilla.suse.com/1172265
suse.com/security/cve/CVE-2017-9103
suse.com/security/cve/CVE-2017-9104
suse.com/security/cve/CVE-2017-9105
suse.com/security/cve/CVE-2017-9106
suse.com/security/cve/CVE-2017-9107
suse.com/security/cve/CVE-2017-9108
suse.com/security/cve/CVE-2017-9109
suse.com/support/update/announcement/2020/suse-su-20201612-1
ubuntu.com/security/CVE-2017-9106
chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=adns.git;a=commit;h=37792aacaf7abbcdac6a02715a5ef794b5147f13
cve.org/CVERecord?id=CVE-2017-9106
lists.opensuse.org/archives/list/[email protected]/thread/YGJFYTAXD5VI2C7KYA7GUUEJEHU4KNK3
suse.com/security/cve/CVE-2008-1447