Skip to content

Commit c0c647f

Browse files
Backport security fix from v5.2.1: disable dev client for non-Chromium browsers
1 parent 11bfcde commit c0c647f

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

lib/Server.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
"use strict";
22

3+
function isChromiumBased(userAgentHeader) {
4+
return Boolean(userAgentHeader && userAgentHeader.includes('Chrome'));
5+
}
6+
37
const os = require("os");
48
const path = require("path");
59
const url = require("url");
@@ -2103,6 +2107,12 @@ class Server {
21032107
/** @type {import("webpack-dev-middleware").API<Request, Response>}*/
21042108
(middleware).waitUntilValid((stats) => {
21052109
res.setHeader("Content-Type", "text/html");
2110+
2111+
if (!isChromiumBased(req.headers['user-agent'])) {
2112+
res.end('<!DOCTYPE html><html><body><h2>Access blocked: Please use a Chromium-based browser (Chrome, Edge, etc.).</h2></body></html>');
2113+
return;
2114+
}
2115+
21062116
res.write(
21072117
'<!DOCTYPE html><html><head><meta charset="utf-8"/></head><body>'
21082118
);

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"name": "webpack-dev-server",
3-
"version": "4.15.2",
2+
"name": "webpack-dev-server-wajih",
3+
"version": "4.6.0-patched",
44
"description": "Serves a webpack app. Updates the browser on changes.",
55
"bin": "bin/webpack-dev-server.js",
66
"main": "lib/Server.js",

0 commit comments

Comments
 (0)