CVE-2020-15693
Security update for nim
CVE-2020-15693 is a medium vulnerability (CVSS 6.5) in Nim-lang Nim, published August 14, 2020. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 2.13%, the 81st percentile. Fixed in nim 1.2.6-1.
In Nim 1.2.4, the standard library httpClient is vulnerable to a CR-LF injection in the target URL. An injection is possible if the attacker controls any part of the URL provided in a call (such as httpClient.get or httpClient.post), the User-Agent header value, or custom HTTP header names or values.
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
- Low
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
NVD Score used
6.5
In Nim 1.2.4, the standard library httpClient is vulnerable to a CR-LF injection in the target URL. An injection is possible if the attacker controls any part of the URL provided in a call (such as httpClient.get or httpClient.post), the User-Agent header value, or custom HTTP header names or values.
- Record
CVE-2020-15693- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N - CVSS 2.0
- 6.4 Medium
AV:N/AC:L/Au:N/C:P/I:P/A:N - Weakness
- CWE-74
- Updated
- 2026-11-02
CVE List No score
In Nim 1.2.4, the standard library httpClient is vulnerable to a CR-LF injection in the target URL. An injection is possible if the attacker controls any part of the URL provided in a call (such as httpClient.get or httpClient.post), the User-Agent header value, or custom HTTP header names or values.
- Record
CVE-2020-15693- Updated
- 2026-11-02
EUVDEUVD-2020-7680 No score
In Nim 1.2.4, the standard library httpClient is vulnerable to a CR-LF injection in the target URL. An injection is possible if the attacker controls any part of the URL provided in a call (such as httpClient.get or httpClient.post), the User-Agent header value, or custom HTTP header names or values.
- Record
EUVD-2020-7680- Updated
- 2026-11-03
OSV
6.5
In Nim 1.2.4, the standard library httpClient is vulnerable to a CR-LF injection in the target URL. An injection is possible if the attacker controls any part of the URL provided in a call (such as httpClient.get or httpClient.post), the User-Agent header value, or custom HTTP header names or values.
- Record
CVE-2020-15693- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N - Updated
- 2026-11-02
OSVDEBIAN-CVE-2020-15693
6.5
In Nim 1.2.4, the standard library httpClient is vulnerable to a CR-LF injection in the target URL. An injection is possible if the attacker controls any part of the URL provided in a call (such as httpClient.get or httpClient.post), the User-Agent header value, or custom HTTP header names or values.
- Record
DEBIAN-CVE-2020-15693- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2020-15693
6.5
In Nim 1.2.4, the standard library httpClient is vulnerable to a CR-LF injection in the target URL. An injection is possible if the attacker controls any part of the URL provided in a call (such as httpClient.get or httpClient.post), the User-Agent header value, or custom HTTP header names or values.
- Record
UBUNTU-CVE-2020-15693- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N - Updated
- 2026-11-02
OSVopenSUSE-SU-2022:10095-1 No score
Security update for nim
This update for nim fixes the following issues:
Includes upstream security fixes for:
- (boo#1175333, CVE-2020-15693) httpClient is vulnerable to a CR-LF injection
- (boo#1175334, CVE-2020-15692) mishandle of argument to browsers.openDefaultBrowser
- (boo#1175332, CVE-2020-15694) httpClient.get().contentLength() fails to properly validate the server response
- (boo#1192712, CVE-2021-41259) null byte accepted in getContent function, leading to URI validation bypass
- (boo#1185948, CVE-2021-29495) stdlib httpClient does not validate peer certificates by default
- (boo#1185085, CVE-2021-21374) Improper verification of the SSL/TLS certificate
- (boo#1185084, CVE-2021-21373) 'nimble refresh' falls back to a non-TLS URL in case of error
- (boo#1185083, CVE-2021-21372) doCmd can be leveraged to execute arbitrary commands
- (boo#1181705, CVE-2020-15690) Standard library asyncftpclient lacks a check for newline character
Following nim tools now work as expected:
- nim_dbg is now installed.
- nim-gdb can be successfully launched as it finds and loads nim-gdb.py correctly under gdb.
- nimble package manager stores package information per user.
- compiler package can be found and used, as it may be required by other packages.
Update to 1.6.6
- standard library use consistent styles for variable names so it can be used in projects which force a consistent style with --styleCheck:usages option.
- ARC/ORC are now considerably faster at method dispatching, bringing its performance back on the level of the refc memory management.
- Full changelog: https://nim-lang.org/blog/2022/05/05/version-166-released.html
- Previous updates and changelogs:
- 1.6.4: https://nim-lang.org/blog/2022/02/08/version-164-released.html
- 1.6.2: https://nim-lang.org/blog/2021/12/17/version-162-released.html
- 1.6.0: https://nim-lang.org/blog/2021/10/19/version-160-released.html
- 1.4.8: https://nim-lang.org/blog/2021/05/25/version-148-released.html
- 1.4.6: https://nim-lang.org/blog/2021/04/15/versions-146-and-1212-released.html
- 1.4.4: https://nim-lang.org/blog/2021/02/23/versions-144-and-1210-released.html
- 1.4.2: https://nim-lang.org/blog/2020/12/01/version-142-released.html
- 1.4.0: https://nim-lang.org/blog/2020/10/16/version-140-released.html
Update to 1.2.16
- oids: switch from PRNG to random module
- nimc.rst: fix table markup
- nimRawSetjmp: support Windows
- correctly enable chronos
- bigints are not supposed to work on 1.2.x
- disable nimpy
- misc bugfixes
- fixes a 'mixin' statement handling regression [backport:1.2
Update to version 1.2.12
- Fixed GC crash resulting from inlining of the memory allocation procs
- Fixed “incorrect raises effect for $(NimNode)” (#17454)
- from version 1.2.10
- Fixed “JS backend doesn’t handle float->int type conversion “ (#8404)
- Fixed “The “try except” not work when the “OSError: Too many open files” error occurs!” (#15925)
- Fixed “Nim emits #line 0 C preprocessor directives with –debugger:native, with ICE in gcc-10” (#15942)
- Fixed “tfuturevar fails when activated” (#9695)
- Fixed “nre.escapeRe is not gcsafe” (#16103)
- Fixed ““Error: internal error: genRecordFieldAux” - in the “version-1-4” branch” (#16069)
- Fixed “-d:fulldebug switch does not compile with gc:arc” (#16214)
- Fixed “osLastError may randomly raise defect and crash” (#16359)
- Fixed “generic importc proc’s don’t work (breaking lots of vmops procs for js)” (#16428)
- Fixed “Concept: codegen ignores parameter passing” (#16897)
- Fixed “{.push exportc.} interacts with anonymous functions” (#16967)
- Fixed “memory allocation during {.global.} init breaks GC” (#17085)
- Fixed 'Nimble arbitrary code execution for specially crafted package metadata'
- https://github.com/nim-lang/security/security/advisories/GHSA-rg9f-w24h-962p
- (boo#1185083, CVE-2021-21372)
- Fixed 'Nimble falls back to…
- Record
openSUSE-SU-2022:10095-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2022:10101-1 No score
Security update for nim
This update for nim fixes the following issues:
Includes upstream security fixes for:
- (boo#1175333, CVE-2020-15693) httpClient is vulnerable to a CR-LF injection
- (boo#1175334, CVE-2020-15692) mishandle of argument to browsers.openDefaultBrowser
- (boo#1175332, CVE-2020-15694) httpClient.get().contentLength() fails to properly validate the server response
- (boo#1192712, CVE-2021-41259) null byte accepted in getContent function, leading to URI validation bypass
- (boo#1185948, CVE-2021-29495) stdlib httpClient does not validate peer certificates by default
- (boo#1185085, CVE-2021-21374) Improper verification of the SSL/TLS certificate
- (boo#1185084, CVE-2021-21373) 'nimble refresh' falls back to a non-TLS URL in case of error
- (boo#1185083, CVE-2021-21372) doCmd can be leveraged to execute arbitrary commands
- (boo#1181705, CVE-2020-15690) Standard library asyncftpclient lacks a check for newline character
Update to 1.6.6
- standard library use consistent styles for variable names so it can be used in projects which force a consistent style with --styleCheck:usages option.
- ARC/ORC are now considerably faster at method dispatching, bringing its performance back on the level of the refc memory management.
- Full changelog: https://nim-lang.org/blog/2022/05/05/version-166-released.html
- Previous updates and changelogs:
- 1.6.4: https://nim-lang.org/blog/2022/02/08/version-164-released.html
- 1.6.2: https://nim-lang.org/blog/2021/12/17/version-162-released.html
- 1.6.0: https://nim-lang.org/blog/2021/10/19/version-160-released.html
- 1.4.8: https://nim-lang.org/blog/2021/05/25/version-148-released.html
- 1.4.6: https://nim-lang.org/blog/2021/04/15/versions-146-and-1212-released.html
- 1.4.4: https://nim-lang.org/blog/2021/02/23/versions-144-and-1210-released.html
- 1.4.2: https://nim-lang.org/blog/2020/12/01/version-142-released.html
- 1.4.0: https://nim-lang.org/blog/2020/10/16/version-140-released.html
update to 1.2.16
- oids: switch from PRNG to random module
- nimc.rst: fix table markup
- nimRawSetjmp: support Windows
- correctly enable chronos
- bigints are not supposed to work on 1.2.x
- disable nimpy
- misc bugfixes
- fixes a 'mixin' statement handling regression [backport:1.2
- Record
openSUSE-SU-2022:10101-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:12253-1 No score
nim-1.6.6-3.1 on GA media
These are all security issues fixed in the nim-1.6.6-3.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:12253-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
nimDebian:12 |
before 1.2.6-1 | 1.2.6-1 |
nimDebian:14 |
before 1.2.6-1, plus listed versions 0.11.2+dfsg1-10.11.2+dfsg1-20.11.2+dfsg1-30.11.2+dfsg1-40.12.0-1 Show 45 moreShow less0.12.0-20.13.0-10.14.2-10.15.0-10.15.0-20.15.0-30.15.2-10.15.2-20.16.0-10.17.0-10.17.0-20.17.0-2~bpo9+10.17.2-10.18.0-10.18.0-20.19.0-10.19.2-10.19.2-20.19.4-10.19.6-10.19.6-20.20.0-10.20.0-20.20.2-11.0.0-11.0.0-1~bpo10+11.0.2-11.0.2-1~bpo10+11.0.2~a-11.0.2~b-11.0.2~rc-11.0.3~rc-11.0.4-11.0.4-1~bpo10+11.0.5~rc-11.0.6-11.2.0-11.2.0~rc-11.2.0~rc2-11.2.0~rc3-11.2.1~rc1-11.2.1~rc2-11.2.2-11.2.4-11.2.6~rc1-1 |
1.2.6-1 |
nimUbuntu:16.04:LTS |
All versions, plus listed versions 0.11.2+dfsg1-40.12.0-2 |
None known |
nimUbuntu:18.04:LTS |
All versions, plus listed versions 0.17.2-1ubuntu10.17.2-1ubuntu2 |
None known |
nimUbuntu:20.04:LTS |
All versions, plus listed versions 0.20.2-11.0.2-11.0.3~rc-11.0.4-11.0.6-1 |
None known |
nimSUSE:Package Hub 15 SP3 |
before 1.6.6-bp153.2.3.1 | 1.6.6-bp153.2.3.1 |
nimopenSUSE:Leap 15.3 |
before 1.6.6-bp153.2.3.1 | 1.6.6-bp153.2.3.1 |
nimSUSE:Package Hub 15 SP4 |
before 1.6.6-bp154.2.3.1 | 1.6.6-bp154.2.3.1 |
nimopenSUSE:Leap 15.4 |
before 1.6.6-bp154.2.3.1 | 1.6.6-bp154.2.3.1 |
nimopenSUSE:Tumbleweed |
before 1.6.6-3.1 | 1.6.6-3.1 |
History
| When | Changed | Sources |
|---|---|---|
| 2026-11-03 | aliases | EUVD |
| 2026-11-02 | created | CVE List, NVD, OSV |
References
github.com/nim-lang/Nim/blob/dc5a40f3f39c6ea672e6dc6aca7f8118a69dda99/lib/pure/httpclient.nim
nim-lang.org/blog/2020/07/30/versions-126-and-108-released.html
openwall.com/lists/oss-security/2021/02/04/2
consensys.net/diligence/vulnerabilities/nim-httpclient-header-crlf-injection
security-tracker.debian.org/tracker/CVE-2020-15693
ubuntu.com/security/CVE-2020-15693
Show 21 moreShow less
cve.org/CVERecord?id=CVE-2020-15693
lists.opensuse.org/archives/list/[email protected]/thread/HM5F2H5AWO4WRQSTOWMODGKMXAHHBVRH
bugzilla.suse.com/1175332
bugzilla.suse.com/1175333
bugzilla.suse.com/1175334
bugzilla.suse.com/1181705
bugzilla.suse.com/1185083
bugzilla.suse.com/1185084
bugzilla.suse.com/1185085
bugzilla.suse.com/1185948
bugzilla.suse.com/1192712
suse.com/security/cve/CVE-2020-15690
suse.com/security/cve/CVE-2020-15692
suse.com/security/cve/CVE-2020-15693
suse.com/security/cve/CVE-2020-15694
suse.com/security/cve/CVE-2021-21372
suse.com/security/cve/CVE-2021-21373
suse.com/security/cve/CVE-2021-21374
suse.com/security/cve/CVE-2021-29495
suse.com/security/cve/CVE-2021-41259
lists.opensuse.org/archives/list/[email protected]/thread/SNDISR45BBTIWW5MDTIQOSRHOEV3XUKF
Left out here: the rest of 1 source description. The JSON record has them.