Skip to content

Commit bd17309

Browse files
Merge pull request #329 from ejarocki-cloudlinux/master
move express to a separate page
2 parents 08dd44a + 3aab1aa commit bd17309

File tree

4 files changed

+197
-11
lines changed

4 files changed

+197
-11
lines changed

docs/.vuepress/components/ELSTechnology.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ const techData = [
318318
{
319319
name: "express",
320320
versions: "3.21.2",
321-
link: "./javascript-libraries/",
321+
link: "./express/",
322322
},
323323
{
324324
name: "express-jwt",

docs/.vuepress/config-client/sidebar.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,10 @@ export default {
235235
path: '/els-for-libraries/bootstrap/',
236236
icon: '/images/bootstrap-logo.webp',
237237
},
238+
{
239+
path: '/els-for-libraries/express/',
240+
icon: '/images/express-logo.webp',
241+
},
238242
{
239243
path: '/els-for-libraries/fastify/',
240244
icon: '/images/fastify-logo.webp',
Lines changed: 187 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,187 @@
1+
# express
2+
3+
Endless Lifecycle Support (ELS) for express from TuxCare provides security fixes for express versions that have reached their end of life. This allows you to continue running express applications without vulnerability concerns, even after official support has ended.
4+
5+
## Supported express Versions
6+
7+
* express 3.21.2
8+
9+
## Connection to ELS for express Library
10+
11+
This guide outlines the steps needed to integrate the TuxCare ELS for the express library.
12+
13+
## Step 1: Get Token
14+
15+
You need a token in order to use TuxCare ELS express library. Anonymous access is disabled. To receive the token, please contact [[email protected]](mailto:[email protected]).
16+
17+
## Step 2: Set Up ELS for express
18+
19+
TuxCare provides ELS for express as an NPM package, hosted on a secure internal registry. Follow the steps below to add it to your project and get started.
20+
21+
1. Navigate to the root directory of your express project.
22+
2. Create a `.npmrc` file or update it if it already exists.
23+
24+
**Example:**
25+
26+
```text
27+
my-express-project/
28+
├── node_modules/
29+
├── package.json
30+
├── .npmrc ⚠️ ← Create it here
31+
└── package-lock.json
32+
```
33+
34+
3. Use an editor of your choice (e.g., VS Code) to add the following registry address line:
35+
36+
<CodeWithCopy>
37+
38+
```text
39+
registry=https://registry.npmjs.org/
40+
@els-js:registry=https://nexus.repo.tuxcare.com/repository/els_js/
41+
//nexus.repo.tuxcare.com/repository/els_js/:_auth=${TOKEN}
42+
```
43+
44+
</CodeWithCopy>
45+
46+
:::warning
47+
Replace ${TOKEN} with the token you received from [[email protected]](mailto:[email protected]).
48+
:::
49+
50+
4. Update your `package.json` file to replace your express dependencies with the TuxCare packages. You can do this in two ways:
51+
52+
* **Option 1: TuxCare Patcher (Automated)**
53+
54+
Install the Patcher globally and run it. The TuxCare Patcher automatically detects the express version in your `package.json` and updates your `dependencies` and `overrides` to use the corresponding TuxCare `@els-js/*` packages.
55+
56+
<CodeWithCopy>
57+
58+
```text
59+
npm install -g @els-js/tuxcare-patcher --userconfig ./.npmrc
60+
tuxcare-patch-js
61+
```
62+
63+
</CodeWithCopy>
64+
65+
The patcher will update your `package.json`, for example, from:
66+
67+
```text
68+
"dependencies": {
69+
"express": "^3.21.2"
70+
}
71+
```
72+
73+
to:
74+
75+
```text
76+
"dependencies": {
77+
"express": "npm:@els-js/[email protected]"
78+
},
79+
"overrides": {
80+
81+
}
82+
```
83+
84+
* **Option 2: Manual Update**
85+
86+
Manually update your `package.json` file by replacing your express dependencies with the TuxCare packages. This method gives you full control over which packages to update.
87+
88+
<CodeWithCopy>
89+
90+
```text
91+
"dependencies": {
92+
"express": "npm:@els-js/[email protected]"
93+
}
94+
```
95+
96+
</CodeWithCopy>
97+
98+
5. You need to remove the `node_modules` directory and the `package-lock.json` file, and also clear the `npm cache` before installing the patched packages. Use the following commands:
99+
100+
<CodeWithCopy>
101+
102+
```text
103+
rm -rf node_modules package-lock.json && npm cache clean --force
104+
```
105+
106+
</CodeWithCopy>
107+
108+
6. Run the following command to install the ELS version of the express library (token for the TuxCare repository will be automatically picked up from your `.npmrc` file):
109+
110+
<CodeWithCopy>
111+
112+
```text
113+
npm install
114+
```
115+
116+
</CodeWithCopy>
117+
118+
You will see an output like:
119+
120+
```text
121+
added 1 package, and audited 2 packages in 792ms
122+
123+
found 0 vulnerabilities
124+
```
125+
126+
7. You've successfully installed the Tuxcare ELS version of the express library into your project.
127+
128+
## Vulnerability Exploitability eXchange (VEX)
129+
130+
VEX is a machine-readable format that tells you if a known vulnerability and is actually exploitable in your product. It reduces false positives, helps prioritize real risks.
131+
132+
TuxCare provides VEX for express ELS versions: [security.tuxcare.com/vex/cyclonedx/els_lang_javascript/express/](https://security.tuxcare.com/vex/cyclonedx/els_lang_javascript/express/).
133+
134+
## How to Upgrade to a Newer Version of TuxCare Packages
135+
136+
If you have already installed a package with a `tuxcare.1` suffix and want to upgrade to a newer release (for example, `tuxcare.3`), you can use one of the following methods:
137+
138+
* **Option 1: TuxCare Patcher (Automated). Recommended for projects with multiple TuxCare dependencies.**
139+
140+
The TuxCare Patcher automatically detects all TuxCare dependencies in your `package.json` and updates them to the latest available versions.
141+
142+
<CodeWithCopy>
143+
144+
```text
145+
tuxcare-patch-js --upgrade
146+
```
147+
148+
</CodeWithCopy>
149+
150+
* **Option 2: Manual Update via CLI (Single Dependency)**
151+
152+
If you want to update a single TuxCare dependency, use the npm install command with the specific version. This automatically updates both `package.json` and `package-lock.json`:
153+
154+
<CodeWithCopy>
155+
156+
```text
157+
npm install express@npm:@els-js/[email protected]
158+
```
159+
160+
</CodeWithCopy>
161+
162+
* **Option 3: Manual Update via package.json (Multiple Dependencies)**
163+
164+
If you want to update several TuxCare dependencies, manually update the version strings in your `package.json`, then remove installed files and clear npm cache to avoid conflicts:
165+
166+
<CodeWithCopy>
167+
168+
```text
169+
rm -rf node_modules package-lock.json && npm cache clean --force
170+
npm install
171+
```
172+
173+
</CodeWithCopy>
174+
175+
## Resolved CVEs
176+
177+
Fixes for the following vulnerabilities are available in ELS for express from TuxCare versions:
178+
179+
| CVE ID | CVE Type | Severity | Affected Libraries | Vulnerable Versions |
180+
| :------------: | :------: |:--------:|:------------------:| :----------------: |
181+
| CVE-2024-10491 | Direct | Medium | express | <= 3.21.4 |
182+
| CVE-2024-29041 | Direct | Medium | express | < 4.19.2, >= 5.0.0-alpha.1 < 5.0.0-beta.3 |
183+
| CVE-2024-43796 | Direct | Medium | express | < 4.20.0 |
184+
| CVE-2024-9266 | Direct | Medium | express | >= 3.4.5 < 4.0.0 |
185+
186+
If you are interested in the TuxCare Endless Lifecycle Support, contact [[email protected]](mailto:[email protected]).
187+

docs/els-for-libraries/javascript-libraries/README.md

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ Endless Lifecycle Support (ELS) for Libraries from TuxCare provides security fix
1313
* **crypto-js** 3.3.0
1414
* **debug** 4.1.1
1515
* **dompurify** 2.3.0, 2.4.3
16-
* **express** 3.21.2
1716
* **express-jwt** 0.1.3
1817
* **form-data** 2.3.3
1918
* **formidable** 2.1.2
@@ -106,18 +105,18 @@ TuxCare provides ELS for JavaScript libraries as NPM packages, hosted on a secur
106105
107106
```text
108107
"dependencies": {
109-
"express": "^3.21.2"
108+
"cookie": "^0.4.2"
110109
}
111110
```
112111
113112
to:
114113
115114
```text
116115
"dependencies": {
117-
"express": "npm:@els-js/[email protected].2-tuxcare.1"
116+
"cookie": "npm:@els-js/[email protected].2-tuxcare.2"
118117
},
119118
"overrides": {
120-
"[email protected].2": "npm:@els-js/[email protected].2-tuxcare.1"
119+
"[email protected].2": "npm:@els-js/[email protected].2-tuxcare.2"
121120
}
122121
```
123122
@@ -129,7 +128,7 @@ TuxCare provides ELS for JavaScript libraries as NPM packages, hosted on a secur
129128
130129
```text
131130
"dependencies": {
132-
"express": "npm:@els-js/[email protected].2-tuxcare.1"
131+
"cookie": "npm:@els-js/[email protected].2-tuxcare.2"
133132
}
134133
```
135134
@@ -214,7 +213,7 @@ If you have already installed a package with a `tuxcare.1` suffix and want to up
214213
<CodeWithCopy>
215214

216215
```text
217-
npm install express@npm:@els-js/[email protected].2-tuxcare.2
216+
npm install cookie@npm:@els-js/[email protected].2-tuxcare.2
218217
```
219218

220219
</CodeWithCopy>
@@ -277,15 +276,11 @@ Fixes for the following vulnerabilities are available in ELS for JavaScript Libr
277276
| CVE-2020-7608 | Direct | Medium | yargs-parser | < 5.0.1, ≥ 6.0.0 < 13.1.2, ≥ 14.0.0 < 15.0.1, ≥ 16.0.0 < 18.1.1 |
278277
| CVE-2023-0842 | Direct | Medium | xml2js | 0.4.23 |
279278
| CVE-2023-28155 | Direct | Medium | request | <= 2.88.1 |
280-
| CVE-2024-10491 | Direct | Medium | express | <= 3.21.4 |
281-
| CVE-2024-29041 | Direct | Medium | express | < 4.19.2, >= 5.0.0-alpha.1 < 5.0.0-beta.3 |
282279
| CVE-2024-47764 | Direct | Medium | cookie | < 0.7.0 |
283280
| CVE-2024-4067 | Direct | Medium | micromatch | < 4.0.8 |
284-
| CVE-2024-43796 | Direct | Medium | express | < 4.20.0 |
285281
| CVE-2024-45801 | Direct | Medium | dompurify | < 2.5.4, >= 3.0.0 < 3.1.3 |
286282
| CVE-2024-47068 | Direct | Medium | rollup | < 2.79.2, < 3.29.5, < 4.22.4 |
287283
| CVE-2024-47875 | Direct | Medium | dompurify | < 2.5.0, >= 3.0.0 < 3.1.3 |
288-
| CVE-2024-9266 | Direct | Medium | express | >= 3.4.5 < 4.0.0 |
289284
| CVE-2025-26791 | Direct | Medium | dompurify | < 3.2.4 |
290285
| CVE-2025-30359 | Direct | Medium | webpack-dev-server | < 5.2.1 |
291286
| CVE-2025-32997 | Direct | Medium | http-proxy-middleware | < 2.0.9, 3.x < 3.0.5 |

0 commit comments

Comments
 (0)