CVE-2016-2216
The HTTP header parsing code in Node.js 0.10.x before 0.10.42, 0.11.6 through 0.11.16, 0.12.x...
The HTTP header parsing code in Node.js 0.10.x before 0.10.42, 0.11.6 through 0.11.16, 0.12.x before 0.12.10, 4.x before 4.3.0, and 5.x before 5.6.0 allows remote attackers to bypass an HTTP response-splitting protection mechanism via UTF-8 encoded Unicode characters in the HTTP header, as demonstrated by %c4%8d%c4%8a.
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
- High
- Availability
- None
Exploit likelihood
What each source reports
NVD Score used
7.5
The HTTP header parsing code in Node.js 0.10.x before 0.10.42, 0.11.6 through 0.11.16, 0.12.x before 0.12.10, 4.x before 4.3.0, and 5.x before 5.6.0 allows remote attackers to bypass an HTTP response-splitting protection mechanism via UTF-8 encoded Unicode characters in the HTTP header, as demonstrated by %c4%8d%c4%8a.
- Record
CVE-2016-2216- CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - CVSS 2.0
- 4.3 Medium
AV:N/AC:M/Au:N/C:N/I:P/A:N - Weakness
- CWE-20
- Updated
- 2026-11-02
CVE List No score
The HTTP header parsing code in Node.js 0.10.x before 0.10.42, 0.11.6 through 0.11.16, 0.12.x before 0.12.10, 4.x before 4.3.0, and 5.x before 5.6.0 allows remote attackers to bypass an HTTP response-splitting protection mechanism via UTF-8 encoded Unicode characters in the HTTP header, as demonstrated by %c4%8d%c4%8a.
- Record
CVE-2016-2216- Updated
- 2026-11-02
EUVDEUVD-2016-3300 No score
The HTTP header parsing code in Node.js 0.10.x before 0.10.42, 0.11.6 through 0.11.16, 0.12.x before 0.12.10, 4.x before 4.3.0, and 5.x before 5.6.0 allows remote attackers to bypass an HTTP response-splitting protection mechanism via UTF-8 encoded Unicode characters in the HTTP header, as demonstrated by %c4%8d%c4%8a.
- Record
EUVD-2016-3300- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-77qx-hwx7-xv2g
7.5
The HTTP header parsing code in Node.js 0.10.x before 0.10.42, 0.11.6 through 0.11.16, 0.12.x...
The HTTP header parsing code in Node.js 0.10.x before 0.10.42, 0.11.6 through 0.11.16, 0.12.x before 0.12.10, 4.x before 4.3.0, and 5.x before 5.6.0 allows remote attackers to bypass an HTTP response-splitting protection mechanism via UTF-8 encoded Unicode characters in the HTTP header, as demonstrated by %c4%8d%c4%8a.
- Record
GHSA-77qx-hwx7-xv2g- CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-20
- Updated
- 2026-11-02
OSV
7.5
The HTTP header parsing code in Node.js 0.10.x before 0.10.42, 0.11.6 through 0.11.16, 0.12.x before 0.12.10, 4.x before 4.3.0, and 5.x before 5.6.0 allows remote attackers to bypass an HTTP response-splitting protection mechanism via UTF-8 encoded Unicode characters in the HTTP header, as demonstrated by %c4%8d%c4%8a.
- Record
CVE-2016-2216- CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVDEBIAN-CVE-2016-2216
7.5
The HTTP header parsing code in Node.js 0.10.x before 0.10.42, 0.11.6 through 0.11.16, 0.12.x before 0.12.10, 4.x before 4.3.0, and 5.x before 5.6.0 allows remote attackers to bypass an HTTP response-splitting protection mechanism via UTF-8 encoded Unicode characters in the HTTP header, as demonstrated by %c4%8d%c4%8a.
- Record
DEBIAN-CVE-2016-2216- CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2016-2216
7.5
The HTTP header parsing code in Node.js 0.10.x before 0.10.42, 0.11.6 through 0.11.16, 0.12.x before 0.12.10, 4.x before 4.3.0, and 5.x before 5.6.0 allows remote attackers to bypass an HTTP response-splitting protection mechanism via UTF-8 encoded Unicode characters in the HTTP header, as demonstrated by %c4%8d%c4%8a.
- Record
UBUNTU-CVE-2016-2216- CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVMGASA-2016-0080 No score
Updated nodejs packages fix security vulnerability
A request smuggling vulnerability was found in Node.js that can be exploited under certain unspecified circumstances (CVE-2016-2086).
It was reported that HTTP header parsing in Node.js is vulnerable to response splitting attacks. While Node.js has been protecting against response splitting attacks by checking for CRLF characters, it is possible to compose response headers using Unicode characters that decompose to these characters, bypassing the checks previously in place (CVE-2016-2216).
- Record
MGASA-2016-0080- Updated
- 2026-11-02
OSVSUSE-SU-2019:14246-1 No score
Security update for Mozilla Firefox
This update contains the Mozilla Firefox ESR 68.2 release.
Mozilla Firefox was updated to ESR 68.2 release:
-
Enterprise: New administrative policies were added. More information and templates are available at the Policy Templates page.
-
Various security fixes: MFSA 2019-33 (bsc#1154738)
- CVE-2019-15903: Heap overflow in expat library in XML_GetCurrentLineNumber
- CVE-2019-11757: Use-after-free when creating index updates in IndexedDB
- CVE-2019-11758: Potentially exploitable crash due to 360 Total Security
- CVE-2019-11759: Stack buffer overflow in HKDF output
- CVE-2019-11760: Stack buffer overflow in WebRTC networking
- CVE-2019-11761: Unintended access to a privileged JSONView object
- CVE-2019-11762: document.domain-based origin isolation has same-origin- property violation
- CVE-2019-11763: Incorrect HTML parsing results in XSS bypass technique
- CVE-2019-11764: Memory safety bugs fixed in Firefox 70 and Firefox ESR 68.2
Other Issues resolved:
- [bsc#1104841] Newer versions of firefox have a dependency on GLIBCXX_3.4.20
- [bsc#1074235] MozillaFirefox: background tab crash reports sent inadvertently without user opt-in
- [bsc#1043008] Firefox hangs randomly when browsing and scrolling
- [bsc#1025108] Firefox stops loading page until mouse is moved
- [bsc#905528] Firefox malfunctions due to broken omni.ja archives
- Record
SUSE-SU-2019:14246-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
nodejsDebian:12 |
before 4.3.0~dfsg-1 | 4.3.0~dfsg-1 |
nodejsDebian:13 |
before 4.3.0~dfsg-1 | 4.3.0~dfsg-1 |
nodejsDebian:14 |
before 4.3.0~dfsg-1 | 4.3.0~dfsg-1 |
nodejsMageia:5 From an advisory covering 2 CVEs |
before 0.10.42-1.mga5 | 0.10.42-1.mga5 |
MozillaFirefoxSUSE:Linux Enterprise Server 11 SP4-LTSS From an advisory covering 118 CVEs |
before 68.2.0-78.51.4 | 68.2.0-78.51.4 |
MozillaFirefox-branding-SLEDSUSE:Linux Enterprise Server 11 SP4-LTSS From an advisory covering 118 CVEs |
before 68-21.9.8 | 68-21.9.8 |
firefox-atkSUSE:Linux Enterprise Server 11 SP4-LTSS From an advisory covering 118 CVEs |
before 2.26.1-2.8.4 | 2.26.1-2.8.4 |
firefox-cairoSUSE:Linux Enterprise Server 11 SP4-LTSS From an advisory covering 118 CVEs |
before 1.15.10-2.13.4 | 1.15.10-2.13.4 |
firefox-gdk-pixbufSUSE:Linux Enterprise Server 11 SP4-LTSS From an advisory covering 118 CVEs |
before 2.36.11-2.8.4 | 2.36.11-2.8.4 |
firefox-glib2SUSE:Linux Enterprise Server 11 SP4-LTSS From an advisory covering 118 CVEs |
before 2.54.3-2.14.7 | 2.54.3-2.14.7 |
Show 9 moreShow less
| Package | Affected | Fixed |
|---|---|---|
firefox-gtk3SUSE:Linux Enterprise Server 11 SP4-LTSS From an advisory covering 118 CVEs |
before 3.10.9-2.15.3 | 3.10.9-2.15.3 |
firefox-harfbuzzSUSE:Linux Enterprise Server 11 SP4-LTSS From an advisory covering 118 CVEs |
before 1.7.5-2.7.4 | 1.7.5-2.7.4 |
firefox-libffiSUSE:Linux Enterprise Server 11 SP4-LTSS From an advisory covering 118 CVEs |
before 3.2.1.git259-2.3.3 | 3.2.1.git259-2.3.3 |
firefox-libffi-gcc5SUSE:Linux Enterprise Server 11 SP4-LTSS From an advisory covering 118 CVEs |
before 5.3.1+r233831-14.1 | 5.3.1+r233831-14.1 |
firefox-pangoSUSE:Linux Enterprise Server 11 SP4-LTSS From an advisory covering 118 CVEs |
before 1.40.14-2.7.4 | 1.40.14-2.7.4 |
mozilla-nsprSUSE:Linux Enterprise Server 11 SP4-LTSS From an advisory covering 118 CVEs |
before 4.21-29.6.1 | 4.21-29.6.1 |
mozilla-nssSUSE:Linux Enterprise Server 11 SP4-LTSS From an advisory covering 118 CVEs |
before 3.45-38.9.3 | 3.45-38.9.3 |
nodejsUbuntu:Pro:14.04:LTS |
All versions, plus listed versions 0.10.15~dfsg1-40.10.21~dfsg1-10.10.22~dfsg1-20.10.23~dfsg1-10.10.23~dfsg1-2 Show 7 moreShow less0.10.23~dfsg1-30.10.24~dfsg1-10.10.25~dfsg2-20.10.25~dfsg2-2ubuntu10.10.25~dfsg2-2ubuntu1.20.10.25~dfsg2-2ubuntu1.2+esm10.10.25~dfsg2-2ubuntu1.2+esm2 |
None known |
nodejsUbuntu:Pro:16.04:LTS |
All versions, plus listed versions 0.10.25~dfsg2-2ubuntu14.2.2~dfsg-14.2.3~dfsg-14.2.4~dfsg-1ubuntu14.2.4~dfsg-2 Show 7 moreShow less4.2.6~dfsg-1ubuntu14.2.6~dfsg-1ubuntu44.2.6~dfsg-1ubuntu4.14.2.6~dfsg-1ubuntu4.24.2.6~dfsg-1ubuntu4.2+esm14.2.6~dfsg-1ubuntu4.2+esm24.2.6~dfsg-1ubuntu4.2+esm3 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| 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-2016-2216 is a high vulnerability (CVSS 7.5) in Nodejs Node.js, published February 19, 2016. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 7.26%, the 94th percentile. Fixed in nodejs 4.3.0~dfsg-1.
References
blog.safebreach.com/2016/02/09/http-response-splitting-in-node-js-root-cause-analysis
packetstormsecurity.com/files/135711/Node.js-HTTP-Response-Splitting.html
lists.fedoraproject.org/pipermail/package-announce/2016-February/177673.html
nodejs.org/en/blog/vulnerability/february-2016-security-releases
securityfocus.com/bid/83141
lists.fedoraproject.org/pipermail/package-announce/2016-February/177184.html
Show 194 moreShow less
security.gentoo.org/glsa/201612-43
info.safebreach.com/hubfs/Node-js-Response-Splitting.pdf
nvd.nist.gov/vuln/detail/CVE-2016-2216
github.com/advisories/GHSA-77qx-hwx7-xv2g
security-tracker.debian.org/tracker/CVE-2016-2216
advisories.mageia.org/MGASA-2016-0080.html
bugs.mageia.org/show_bug.cgi?id=17779
nodejs.org/en/blog/release/v0.10.42
suse.com/support/update/announcement/2019/suse-su-201914246-1
bugzilla.suse.com/1000036
bugzilla.suse.com/1001652
bugzilla.suse.com/1025108
bugzilla.suse.com/1029377
bugzilla.suse.com/1029902
bugzilla.suse.com/1040164
bugzilla.suse.com/104105
bugzilla.suse.com/1042670
bugzilla.suse.com/1043008
bugzilla.suse.com/1044946
bugzilla.suse.com/1047925
bugzilla.suse.com/1047936
bugzilla.suse.com/1048299
bugzilla.suse.com/1049186
bugzilla.suse.com/1050653
bugzilla.suse.com/1056058
bugzilla.suse.com/1058013
bugzilla.suse.com/1066242
bugzilla.suse.com/1066953
bugzilla.suse.com/1070738
bugzilla.suse.com/1070853
bugzilla.suse.com/1072320
bugzilla.suse.com/1072322
bugzilla.suse.com/1073796
bugzilla.suse.com/1073798
bugzilla.suse.com/1073799
bugzilla.suse.com/1073803
bugzilla.suse.com/1073808
bugzilla.suse.com/1073818
bugzilla.suse.com/1073823
bugzilla.suse.com/1073829
bugzilla.suse.com/1073830
bugzilla.suse.com/1073832
bugzilla.suse.com/1073846
bugzilla.suse.com/1074235
bugzilla.suse.com/1077230
bugzilla.suse.com/1079761
bugzilla.suse.com/1081750
bugzilla.suse.com/1082318
bugzilla.suse.com/1087453
bugzilla.suse.com/1087459
bugzilla.suse.com/1087463
bugzilla.suse.com/1088573
bugzilla.suse.com/1091764
bugzilla.suse.com/1094814
bugzilla.suse.com/1097158
bugzilla.suse.com/1097375
bugzilla.suse.com/1097401
bugzilla.suse.com/1097404
bugzilla.suse.com/1097748
bugzilla.suse.com/1104841
bugzilla.suse.com/1105019
bugzilla.suse.com/1107030
bugzilla.suse.com/1109465
bugzilla.suse.com/1117473
bugzilla.suse.com/1117626
bugzilla.suse.com/1117627
bugzilla.suse.com/1117629
bugzilla.suse.com/1117630
bugzilla.suse.com/1120644
bugzilla.suse.com/1122191
bugzilla.suse.com/1123482
bugzilla.suse.com/1124525
bugzilla.suse.com/1127532
bugzilla.suse.com/1129346
bugzilla.suse.com/1130694
bugzilla.suse.com/1130840
bugzilla.suse.com/1133452
bugzilla.suse.com/1133810
bugzilla.suse.com/1134209
bugzilla.suse.com/1138459
bugzilla.suse.com/1140290
bugzilla.suse.com/1140868
bugzilla.suse.com/1141853
bugzilla.suse.com/1144919
bugzilla.suse.com/1145665
bugzilla.suse.com/1146090
bugzilla.suse.com/1146091
bugzilla.suse.com/1146093
bugzilla.suse.com/1146094
bugzilla.suse.com/1146095
bugzilla.suse.com/1146097
bugzilla.suse.com/1146099
bugzilla.suse.com/1146100
bugzilla.suse.com/1149323
bugzilla.suse.com/1153423
bugzilla.suse.com/1154738
bugzilla.suse.com/1447070
bugzilla.suse.com/1447409
bugzilla.suse.com/744625
bugzilla.suse.com/744629
bugzilla.suse.com/845955
suse.com/security/cve/CVE-2013-2882
suse.com/security/cve/CVE-2013-6639
suse.com/security/cve/CVE-2013-6640
suse.com/security/cve/CVE-2013-6668
suse.com/security/cve/CVE-2014-0224
suse.com/security/cve/CVE-2015-3193
suse.com/security/cve/CVE-2015-3194
suse.com/security/cve/CVE-2015-5380
suse.com/security/cve/CVE-2015-7384
suse.com/security/cve/CVE-2016-2086
suse.com/security/cve/CVE-2016-2178
suse.com/security/cve/CVE-2016-2183
suse.com/security/cve/CVE-2016-2216
suse.com/security/cve/CVE-2016-5172
suse.com/security/cve/CVE-2016-5325
suse.com/security/cve/CVE-2016-6304
suse.com/security/cve/CVE-2016-6306
suse.com/security/cve/CVE-2016-7052
suse.com/security/cve/CVE-2016-7099
suse.com/security/cve/CVE-2017-1000381
suse.com/security/cve/CVE-2017-10686
suse.com/security/cve/CVE-2017-11111
suse.com/security/cve/CVE-2017-11499
suse.com/security/cve/CVE-2017-14228
suse.com/security/cve/CVE-2017-14849
suse.com/security/cve/CVE-2017-14919
suse.com/security/cve/CVE-2017-15896
suse.com/security/cve/CVE-2017-15897
suse.com/security/cve/CVE-2017-17810
suse.com/security/cve/CVE-2017-17811
suse.com/security/cve/CVE-2017-17812
suse.com/security/cve/CVE-2017-17813
suse.com/security/cve/CVE-2017-17814
suse.com/security/cve/CVE-2017-17815
suse.com/security/cve/CVE-2017-17816
suse.com/security/cve/CVE-2017-17817
suse.com/security/cve/CVE-2017-17818
suse.com/security/cve/CVE-2017-17819
suse.com/security/cve/CVE-2017-17820
suse.com/security/cve/CVE-2017-18207
suse.com/security/cve/CVE-2017-3735
suse.com/security/cve/CVE-2017-3736
suse.com/security/cve/CVE-2017-3738
suse.com/security/cve/CVE-2018-0732
suse.com/security/cve/CVE-2018-1000168
suse.com/security/cve/CVE-2018-12115
suse.com/security/cve/CVE-2018-12116
suse.com/security/cve/CVE-2018-12121
suse.com/security/cve/CVE-2018-12122
suse.com/security/cve/CVE-2018-12123
suse.com/security/cve/CVE-2018-20406
suse.com/security/cve/CVE-2018-20852
suse.com/security/cve/CVE-2018-7158
suse.com/security/cve/CVE-2018-7159
suse.com/security/cve/CVE-2018-7160
suse.com/security/cve/CVE-2018-7161
suse.com/security/cve/CVE-2018-7167
suse.com/security/cve/CVE-2019-10160
suse.com/security/cve/CVE-2019-11709
suse.com/security/cve/CVE-2019-11710
suse.com/security/cve/CVE-2019-11711
suse.com/security/cve/CVE-2019-11712
suse.com/security/cve/CVE-2019-11713
suse.com/security/cve/CVE-2019-11714
suse.com/security/cve/CVE-2019-11715
suse.com/security/cve/CVE-2019-11716
suse.com/security/cve/CVE-2019-11717
suse.com/security/cve/CVE-2019-11718
suse.com/security/cve/CVE-2019-11719
suse.com/security/cve/CVE-2019-11720
suse.com/security/cve/CVE-2019-11721
suse.com/security/cve/CVE-2019-11723
suse.com/security/cve/CVE-2019-11724
suse.com/security/cve/CVE-2019-11725
suse.com/security/cve/CVE-2019-11727
suse.com/security/cve/CVE-2019-11728
suse.com/security/cve/CVE-2019-11729
suse.com/security/cve/CVE-2019-11730
suse.com/security/cve/CVE-2019-11733
suse.com/security/cve/CVE-2019-11735
suse.com/security/cve/CVE-2019-11736
suse.com/security/cve/CVE-2019-11738
suse.com/security/cve/CVE-2019-11740
suse.com/security/cve/CVE-2019-11742
suse.com/security/cve/CVE-2019-11743
suse.com/security/cve/CVE-2019-11744
suse.com/security/cve/CVE-2019-11746
suse.com/security/cve/CVE-2019-11747
suse.com/security/cve/CVE-2019-11748
suse.com/security/cve/CVE-2019-11749
suse.com/security/cve/CVE-2019-11750
ubuntu.com/security/CVE-2016-2216
cve.org/CVERecord?id=CVE-2016-2216
Left out here: 46 references. The JSON record has them.