Every CVE Search/ Get API key

CVE-2026-109869

undici vulnerable to Denial of Service via unhandled error on excessive content-encodings

7.5 HighFix available

undici is an HTTP client library for Node.js. In versions 6.23.0 through 6.29.0, 7.18.0 through 7.30.0, and 8.0.0 through 8.12.1, its fetch() implementation crashes the Node.js process when a malicious server returns a response with more than five content codings and closes the connection before sending the body. undici rejects such responses because of a content-encoding limit, but it created the internal response stream before that check and returned without attaching an error listener or aborting the request, so the early close surfaces a content-length mismatch on the orphaned stream, which Node.js treats as an unhandled error and terminates the process. A remote, unauthenticated server can trigger this with a single response, even when the application correctly catches the fetch() rejection, resulting in a denial of service. The issue is fixed in undici 6.29.1, 7.30.1, and 8.12.2, and users should upgrade to one of those versions or later. There is no workaround.

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

0.34%Unchanged since Oct 16, 2026
90%50%10%1%

What each source reports

CVE List Score used 7.5

undici vulnerable to Denial of Service via unhandled error on excessive content-encodings

undici is an HTTP client library for Node.js. In versions 6.23.0 through 6.29.0, 7.18.0 through 7.30.0, and 8.0.0 through 8.12.1, its fetch() implementation crashes the Node.js process when a malicious server returns a response with more than five content codings and closes the connection before sending the body. undici rejects such responses because of a content-encoding limit, but it created the internal response stream before that check and returned without attaching an error listener or aborting the request, so the early close surfaces a content-length mismatch on the orphaned stream, which Node.js treats as an unhandled error and terminates the process. A remote, unauthenticated server can trigger this with a single response, even when the application correctly catches the fetch() rejection, resulting in a denial of service. The issue is fixed in undici 6.29.1, 7.30.1, and 8.12.2, and users should upgrade to one of those versions or later. There is no workaround.

Record
CVE-2026-109869
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-248, CWE-459
Updated
2026-11-02
EUVDEUVD-2026-102240 7.5

undici is an HTTP client library for Node.js. In versions 6.23.0 through 6.29.0, 7.18.0 through 7.30.0, and 8.0.0 through 8.12.1, its fetch() implementation crashes the Node.js process when a malicious server returns a response with more than five content codings and closes the connection before sending the body. undici rejects such responses because of a content-encoding limit, but it created the internal response stream before that check and returned without attaching an error listener or aborting the request, so the early close surfaces a content-length mismatch on the orphaned stream, which Node.js treats as an unhandled error and terminates the process. A remote, unauthenticated server can trigger this with a single response, even when the application correctly catches the fetch() rejection, resulting in a denial of service. The issue is fixed in undici 6.29.1, 7.30.1, and 8.12.2, and users should upgrade to one of those versions or later. There is no workaround.

Record
EUVD-2026-102240
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
GitHub AdvisoriesGHSA-xjj6-f33q-929c 7.5

undici vulnerable to Denial of Service via unhandled error on excessive content-encodings

Impact

undici's fetch() crashes the Node.js process when a malicious server returns a response with more than five content codings and closes the connection before sending the body. undici rejects such responses (a content-encoding limit), but it created the internal response stream before that check and returned without attaching an error listener or aborting the request. The early close then surfaces a content-length mismatch on that orphaned internal stream, which Node.js treats as an unhandled error and terminates the process. A remote, unauthenticated server can trigger this with a single response, even when the application correctly catches the fetch() rejection. undici 6.x, 7.x, and 8.x are affected.

Patches

Upgrade to 6.29.1, 7.30.1, or 8.12.2. undici now validates the content-encoding chain before creating the internal body stream and aborts the response when the limit is exceeded, so no error can surface on an orphaned stream.

Workarounds

None.

Record
GHSA-xjj6-f33q-929c
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-248, CWE-459
Updated
2026-11-02
NVD 7.5

undici is an HTTP client library for Node.js. In versions 6.23.0 through 6.29.0, 7.18.0 through 7.30.0, and 8.0.0 through 8.12.1, its fetch() implementation crashes the Node.js process when a malicious server returns a response with more than five content codings and closes the connection before sending the body. undici rejects such responses because of a content-encoding limit, but it created the internal response stream before that check and returned without attaching an error listener or aborting the request, so the early close surfaces a content-length mismatch on the orphaned stream, which Node.js treats as an unhandled error and terminates the process. A remote, unauthenticated server can trigger this with a single response, even when the application correctly catches the fetch() rejection, resulting in a denial of service. The issue is fixed in undici 6.29.1, 7.30.1, and 8.12.2, and users should upgrade to one of those versions or later. There is no workaround.

Record
CVE-2026-109869
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-248, CWE-459
Updated
2026-11-02
OSV 7.5

undici vulnerable to Denial of Service via unhandled error on excessive content-encodings

undici is an HTTP client library for Node.js. In versions 6.23.0 through 6.29.0, 7.18.0 through 7.30.0, and 8.0.0 through 8.12.1, its fetch() implementation crashes the Node.js process when a malicious server returns a response with more than five content codings and closes the connection before sending the body. undici rejects such responses because of a content-encoding limit, but it created the internal response stream before that check and returned without attaching an error listener or aborting the request, so the early close surfaces a content-length mismatch on the orphaned stream, which Node.js treats as an unhandled error and terminates the process. A remote, unauthenticated server can trigger this with a single response, even when the application correctly catches the fetch() rejection, resulting in a denial of service. The issue is fixed in undici 6.29.1, 7.30.1, and 8.12.2, and users should upgrade to one of those versions or later. There is no workaround.

Record
CVE-2026-109869
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-248, CWE-459
Updated
2026-11-02
OSVDEBIAN-CVE-2026-109869 7.5

undici is an HTTP client library for Node.js. In versions 6.23.0 through 6.29.0, 7.18.0 through 7.30.0, and 8.0.0 through 8.12.1, its fetch() implementation crashes the Node.js process when a malicious server returns a response with more than five content codings and closes the connection before sending the body. undici rejects such responses because of a content-encoding limit, but it created the internal response stream before that check and returned without attaching an error listener or aborting the request, so the early close surfaces a content-length mismatch on the orphaned stream, which Node.js treats as an unhandled error and terminates the process. A remote, unauthenticated server can trigger this with a single response, even when the application correctly catches the fetch() rejection, resulting in a denial of service. The issue is fixed in undici 6.29.1, 7.30.1, and 8.12.2, and users should upgrade to one of those versions or later. There is no workaround.

Record
DEBIAN-CVE-2026-109869
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
Show 11 moreShow less
OSVGHSA-xjj6-f33q-929c 7.5

undici vulnerable to Denial of Service via unhandled error on excessive content-encodings

Impact

undici's fetch() crashes the Node.js process when a malicious server returns a response with more than five content codings and closes the connection before sending the body. undici rejects such responses (a content-encoding limit), but it created the internal response stream before that check and returned without attaching an error listener or aborting the request. The early close then surfaces a content-length mismatch on that orphaned internal stream, which Node.js treats as an unhandled error and terminates the process. A remote, unauthenticated server can trigger this with a single response, even when the application correctly catches the fetch() rejection. undici 6.x, 7.x, and 8.x are affected.

Patches

Upgrade to 6.29.1, 7.30.1, or 8.12.2. undici now validates the content-encoding chain before creating the internal body stream and aborts the response when the limit is exceeded, so no error can surface on an orphaned stream.

Workarounds

None.

Record
GHSA-xjj6-f33q-929c
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-248, CWE-459
Updated
2026-11-02
OSVRHSA-2026:84657 7.5

Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update

Record
RHSA-2026:84657
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVRHSA-2026:84706 7.5

Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update

Record
RHSA-2026:84706
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVROOT-APP-NPM-CVE-2026-109869 7.5

CVE-2026-109869 in undici - Patched by Root

Root has patched CVE-2026-109869 in the undici package for Root:npm. Multiple fixed versions available.

Record
ROOT-APP-NPM-CVE-2026-109869
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-06
OSVUBUNTU-CVE-2026-109869 7.5

undici is an HTTP client library for Node.js. In versions 6.23.0 through 6.29.0, 7.18.0 through 7.30.0, and 8.0.0 through 8.12.1, its fetch() implementation crashes the Node.js process when a malicious server returns a response with more than five content codings and closes the connection before sending the body. undici rejects such responses because of a content-encoding limit, but it created the internal response stream before that check and returned without attaching an error listener or aborting the request, so the early close surfaces a content-length mismatch on the orphaned stream, which Node.js treats as an unhandled error and terminates the process. A remote, unauthenticated server can trigger this with a single response, even when the application correctly catches the fetch() rejection, resulting in a denial of service. The issue is fixed in undici 6.29.1, 7.30.1, and 8.12.2, and users should upgrade to one of those versions or later. There is no workaround.

Record
UBUNTU-CVE-2026-109869
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVCLSA-2026-1793099993 No score

TuxCare security update for undici (3 CVEs)

TuxCare rebuilt undici to address 3 CVEs. Fixed in 7.24.4-tuxcare.4.

Record
CLSA-2026-1793099993
Updated
2026-11-02
OSVCLSA-2026-1793809172 No score

TuxCare security update for undici (1 CVE)

TuxCare rebuilt undici to address 1 CVE. Fixed in 6.28.0-tuxcare.5.

Record
CLSA-2026-1793809172
Updated
2026-11-04
OSVCLSA-2026-1793809357 No score

TuxCare security update for undici (3 CVEs)

TuxCare rebuilt undici to address 3 CVEs. Fixed in 7.28.0-tuxcare.9.

Record
CLSA-2026-1793809357
Updated
2026-11-04
OSVCLSA-2026-1793809399 No score

TuxCare security update for undici (3 CVEs)

TuxCare rebuilt undici to address 3 CVEs. Fixed in 7.29.0-tuxcare.8.

Record
CLSA-2026-1793809399
Updated
2026-11-04
OSVCLSA-2026-1793973403 No score

TuxCare security update for undici (7 CVEs)

TuxCare rebuilt undici to address 7 CVEs. Fixed in 7.29.1-tuxcare.1.

Record
CLSA-2026-1793973403
Updated
2026-11-06
OSVCLSA-2026-1794058909 No score

TuxCare security update for undici (4 CVEs)

TuxCare rebuilt undici to address 4 CVEs. Fixed in 6.28.1-tuxcare.1.

Record
CLSA-2026-1794058909
Updated
2026-11-07

Affected products

Affected packages

Affected packages
PackageAffectedFixed
undici
npm
6.23.0 up to 6.29.1
6.29.1
undici
npm
7.18.0 up to 7.30.1
7.30.1
undici
npm
8.0.0 up to 8.12.2
8.12.2
undici
TuxCare:npm
From an advisory covering 3 CVEs
7.24.4-tuxcare.0 up to 7.24.4-tuxcare.4, plus listed versions
7.24.47.24.4-tuxcare.17.24.4-tuxcare.27.24.4-tuxcare.3
7.24.4-tuxcare.4
undici
TuxCare:npm
6.28.0-tuxcare.0 up to 6.28.0-tuxcare.5, plus listed versions
6.28.06.28.0-tuxcare.16.28.0-tuxcare.26.28.0-tuxcare.36.28.0-tuxcare.4
6.28.0-tuxcare.5
undici
TuxCare:npm
From an advisory covering 3 CVEs
7.28.0-tuxcare.0 up to 7.28.0-tuxcare.9, plus listed versions
7.28.07.28.0-tuxcare.17.28.0-tuxcare.27.28.0-tuxcare.37.28.0-tuxcare.4
Show 4 moreShow less
7.28.0-tuxcare.57.28.0-tuxcare.67.28.0-tuxcare.77.28.0-tuxcare.8
7.28.0-tuxcare.9
undici
TuxCare:npm
From an advisory covering 3 CVEs
7.29.0-tuxcare.0 up to 7.29.0-tuxcare.8, plus listed versions
7.29.07.29.0-tuxcare.17.29.0-tuxcare.27.29.0-tuxcare.37.29.0-tuxcare.47.29.0-tuxcare.57.29.0-tuxcare.67.29.0-tuxcare.7
7.29.0-tuxcare.8
undici
TuxCare:npm
From an advisory covering 7 CVEs
7.29.1-tuxcare.0 up to 7.29.1-tuxcare.1, plus listed versions
7.29.1
7.29.1-tuxcare.1
undici
TuxCare:npm
From an advisory covering 4 CVEs
6.28.1-tuxcare.0 up to 6.28.1-tuxcare.1, plus listed versions
6.28.1
6.28.1-tuxcare.1
node-undici
Debian:12
All versions, plus listed versions
5.15.0+dfsg1+~cs20.10.9.3-15.15.0+dfsg1+~cs20.10.9.3-1+deb12u15.15.0+dfsg1+~cs20.10.9.3-1+deb12u25.15.0+dfsg1+~cs20.10.9.3-1+deb12u35.15.0+dfsg1+~cs20.10.9.3-1+deb12u4
Show 38 moreShow less
5.19.1+dfsg1+~cs20.10.9.5-15.19.1+dfsg1+~cs20.10.9.5-25.22.1+dfsg1+~cs20.10.10.2-15.26.3+dfsg1+~cs23.10.12-15.26.3+dfsg1+~cs23.10.12-25.26.3+dfsg1+~cs23.10.12-35.28.0+dfsg1+~cs23.11.12.3-15.28.0+dfsg1+~cs23.11.12.3-25.28.2+dfsg1+~cs23.11.12.3-15.28.2+dfsg1+~cs23.11.12.3-25.28.2+dfsg1+~cs23.11.12.3-35.28.2+dfsg1+~cs23.11.12.3-45.28.2+dfsg1+~cs23.11.12.3-55.28.2+dfsg1+~cs23.11.12.3-65.28.4+dfsg1+~cs23.12.11-15.28.4+dfsg1+~cs23.12.11-27.1.0+dfsg1+~cs24.12.10-17.15.0+dfsg+~cs3.2.0-17.15.0+dfsg+~cs3.2.0-37.16.0+dfsg+~cs3.2.0-17.16.0+dfsg+~cs3.2.0-27.18.2+dfsg+~cs3.2.0-17.2.3+dfsg1+~cs24.12.11-17.2.3+dfsg1+~cs24.12.11-27.24.5+dfsg+~cs3.2.0-17.24.6+dfsg+~cs3.2.0-17.24.6+dfsg+~cs3.2.0-27.24.6+dfsg+~cs3.2.0-37.3.0+dfsg1+~cs24.12.11-17.3.0+dfsg1+~cs24.12.11-28.10.2+dfsg+~cs3.2.2-18.12.1+dfsg+~cs3.2.3-18.12.2+dfsg+~cs3.2.3-18.12.2+dfsg+~cs3.2.3-28.5.0+dfsg+~cs3.2.0-18.5.0+dfsg+~cs3.2.0-28.5.0+dfsg+~cs3.2.0-38.9.0+dfsg+~cs3.2.0-1
None known
Show 25 moreShow less
Affected packages
PackageAffectedFixed
node-undici
Debian:13
All versions, plus listed versions
7.15.0+dfsg+~cs3.2.0-17.15.0+dfsg+~cs3.2.0-37.16.0+dfsg+~cs3.2.0-17.16.0+dfsg+~cs3.2.0-27.18.2+dfsg+~cs3.2.0-1
Show 14 moreShow less
7.24.5+dfsg+~cs3.2.0-17.24.6+dfsg+~cs3.2.0-17.24.6+dfsg+~cs3.2.0-27.24.6+dfsg+~cs3.2.0-37.3.0+dfsg1+~cs24.12.11-17.3.0+dfsg1+~cs24.12.11-28.10.2+dfsg+~cs3.2.2-18.12.1+dfsg+~cs3.2.3-18.12.2+dfsg+~cs3.2.3-18.12.2+dfsg+~cs3.2.3-28.5.0+dfsg+~cs3.2.0-18.5.0+dfsg+~cs3.2.0-28.5.0+dfsg+~cs3.2.0-38.9.0+dfsg+~cs3.2.0-1
None known
node-undici
Debian:14
before 8.12.2+dfsg+~cs3.2.3-1, plus listed versions
7.15.0+dfsg+~cs3.2.0-17.15.0+dfsg+~cs3.2.0-37.16.0+dfsg+~cs3.2.0-17.16.0+dfsg+~cs3.2.0-27.18.2+dfsg+~cs3.2.0-1
Show 12 moreShow less
7.24.5+dfsg+~cs3.2.0-17.24.6+dfsg+~cs3.2.0-17.24.6+dfsg+~cs3.2.0-27.24.6+dfsg+~cs3.2.0-37.3.0+dfsg1+~cs24.12.11-17.3.0+dfsg1+~cs24.12.11-28.10.2+dfsg+~cs3.2.2-18.12.1+dfsg+~cs3.2.3-18.5.0+dfsg+~cs3.2.0-18.5.0+dfsg+~cs3.2.0-28.5.0+dfsg+~cs3.2.0-38.9.0+dfsg+~cs3.2.0-1
8.12.2+dfsg+~cs3.2.3-1
nodejs26
Red Hat:hummingbird:1
From an advisory covering 9 CVEs
before 0:26.11.1-0.4.hum1
0:26.11.1-0.4.hum1
nodejs26-bin
Red Hat:hummingbird:1
From an advisory covering 9 CVEs
before 0:26.11.1-0.4.hum1
0:26.11.1-0.4.hum1
nodejs26-devel
Red Hat:hummingbird:1
From an advisory covering 9 CVEs
before 0:26.11.1-0.4.hum1
0:26.11.1-0.4.hum1
nodejs26-docs
Red Hat:hummingbird:1
From an advisory covering 9 CVEs
before 0:26.11.1-0.4.hum1
0:26.11.1-0.4.hum1
nodejs26-full-i18n
Red Hat:hummingbird:1
From an advisory covering 9 CVEs
before 0:26.11.1-0.4.hum1
0:26.11.1-0.4.hum1
nodejs26-libs
Red Hat:hummingbird:1
From an advisory covering 9 CVEs
before 0:26.11.1-0.4.hum1
0:26.11.1-0.4.hum1
nodejs26-npm
Red Hat:hummingbird:1
From an advisory covering 9 CVEs
before 0:11.20.0-1.26.11.1.0.4.hum1
0:11.20.0-1.26.11.1.0.4.hum1
nodejs26-npm-bin
Red Hat:hummingbird:1
From an advisory covering 9 CVEs
before 0:26.11.1-0.4.hum1
0:26.11.1-0.4.hum1
v8-14.6-devel
Red Hat:hummingbird:1
From an advisory covering 9 CVEs
before 0:14.6.202.34-1.26.11.1.0.4.hum1
0:14.6.202.34-1.26.11.1.0.4.hum1
nodejs24
Red Hat:hummingbird:1
From an advisory covering 8 CVEs
before 0:24.21.0-1.5.hum1
0:24.21.0-1.5.hum1
nodejs24-bin
Red Hat:hummingbird:1
From an advisory covering 8 CVEs
before 0:24.21.0-1.5.hum1
0:24.21.0-1.5.hum1
nodejs24-devel
Red Hat:hummingbird:1
From an advisory covering 8 CVEs
before 0:24.21.0-1.5.hum1
0:24.21.0-1.5.hum1
nodejs24-docs
Red Hat:hummingbird:1
From an advisory covering 8 CVEs
before 0:24.21.0-1.5.hum1
0:24.21.0-1.5.hum1
nodejs24-full-i18n
Red Hat:hummingbird:1
From an advisory covering 8 CVEs
before 0:24.21.0-1.5.hum1
0:24.21.0-1.5.hum1
nodejs24-libs
Red Hat:hummingbird:1
From an advisory covering 8 CVEs
before 0:24.21.0-1.5.hum1
0:24.21.0-1.5.hum1
nodejs24-npm
Red Hat:hummingbird:1
From an advisory covering 8 CVEs
before 0:11.19.0-1.24.21.0.1.5.hum1
0:11.19.0-1.24.21.0.1.5.hum1
nodejs24-npm-bin
Red Hat:hummingbird:1
From an advisory covering 8 CVEs
before 0:24.21.0-1.5.hum1
0:24.21.0-1.5.hum1
v8-13.6-devel
Red Hat:hummingbird:1
From an advisory covering 8 CVEs
before 0:13.6.233.17-1.24.21.0.1.5.hum1
0:13.6.233.17-1.24.21.0.1.5.hum1
undici
Root:npm
before 7.29.0-aikido.4
7.29.0-aikido.46.29.0-aikido.27.29.0-aikido.56.28.1-aikido.28.11.2-aikido.17.28.0-aikido.58.10.0-aikido.48.12.1-aikido.17.29.1-aikido.26.28.0-aikido.36.27.0-aikido.47.29.0-aikido.66.26.0-aikido.56.27.0-aikido.56.27.0-aikido.67.28.0-aikido.68.10.2-aikido.4
@rootio/undici
Root:npm
before 7.29.0-root.io.4
7.29.0-root.io.46.29.0-root.io.27.29.0-root.io.56.28.1-root.io.28.11.2-root.io.17.28.0-root.io.58.10.0-root.io.48.12.1-root.io.17.29.1-root.io.26.28.0-root.io.36.27.0-root.io.47.29.0-root.io.66.26.0-root.io.56.27.0-root.io.56.27.0-root.io.67.28.0-root.io.68.10.2-root.io.4
node-undici
Ubuntu:24.04:LTS
All versions, plus listed versions
5.22.1+dfsg1+~cs20.10.10.2-1ubuntu15.26.3+dfsg1+~cs23.10.12-2
None known
node-undici
Ubuntu:26.10
All versions, plus listed versions
7.18.2+dfsg+~cs3.2.0-1build17.24.6+dfsg+~cs3.2.0-38.5.0+dfsg+~cs3.2.0-28.5.0+dfsg+~cs3.2.0-38.9.0+dfsg+~cs3.2.0-1
None known
node-undici
Ubuntu:26.04:LTS
All versions, plus listed versions
7.3.0+dfsg1+~cs24.12.11-27.16.0+dfsg+~cs3.2.0-27.18.2+dfsg+~cs3.2.0-17.18.2+dfsg+~cs3.2.0-1build1
None known

History

History
RecordedChangedSources
affected, aliasesOSV
affected, aliasesOSV
affected
affectedOSV
affectedOSV
affected, aliases, factsOSV
affectedOSV
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-109869 is a high vulnerability (CVSS 7.5) in Nodejs Undici, published October 15, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.34%, the 28th percentile. Fixed in undici 6.29.1.

References

Show 66 moreShow less
MoveEnter Open