fix(media-server): reject malformed range headers

This commit is contained in:
webadderall
2026-05-17 18:04:46 +10:00
parent 7b137e0f13
commit 9876b8c20b
2 changed files with 8 additions and 1 deletions
+7
View File
@@ -72,6 +72,13 @@ describe("media server path policy", () => {
});
describe("resolveHttpByteRange", () => {
it("rejects malformed and multi-range headers", async () => {
const { resolveHttpByteRange } = await import("./mediaServer");
expect(resolveHttpByteRange("bytes=0-1,2-3", 100)).toBeNull();
expect(resolveHttpByteRange("bytes=0-1foo", 100)).toBeNull();
});
it("clamps oversized explicit end offsets to EOF", async () => {
const { resolveHttpByteRange } = await import("./mediaServer");
+1 -1
View File
@@ -12,7 +12,7 @@ export function resolveHttpByteRange(
rangeHeader: string,
fileSize: number,
): { start: number; end: number } | null {
const match = rangeHeader.match(/bytes=(\d*)-(\d*)/);
const match = rangeHeader.trim().match(/^bytes=(\d*)-(\d*)$/);
if (!match || (!match[1] && !match[2])) {
return null;
}