CVSS 4.7 MEDIUM

SvelteKit: URL redirection to untrusted site via enhanced form submission

Mã khác
GHSA-pfhg-q3qv-9q6r
Công bố
Cập nhật
Lần đầu thấy
Nguồn
GitHub Advisory

Mô tả

Impact

Applications using enhanced form actions (use:enhance) on routes that accept paths beginning with //, such as catch-all routes, may be vulnerable to an open redirect.

Patches

A fix has been prepared for @sveltejs/kit 3.0.0. Users should upgrade to 3.0.0 or later.

The fix preserves leading double slashes in action paths without generating protocol-relative URLs, restricts non-redirect action navigation to the current origin, and includes the origin when comparing action locations with the current page.

Workarounds

Reject requests whose parsed URL pathname begins with // before route resolution, for example in a reverse proxy or a SvelteKit handle hook.

Alternatively, disable navigation for non-redirect enhanced form results by supplying a custom submission callback:

<form method="POST" use:enhance={() => ({ update }) => update({ navigate: false })}>
  <!-- form fields -->
</form>

This applies non-redirect results to the current page instead of navigating to the action location.

Điểm và phân loại

CVSS
4.7 MEDIUM v3.1
Nguồn điểm
GitHub Advisory
Mức độ (theo nguồn)
LOW
EPSS
0.2%
CWE
CWE-601

Vector CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N

Ảnh hưởng

Package Bản bị ảnh hưởng Bản đã sửa
npm @sveltejs/kit < 3.0.0 3.0.0

Vì sao bị lọc

  • CVSS 4.7 < 8.0 và không thuộc CISA KEV

Loại tác động

Không nhận ra loại tác động nào từ CWE, vector hay mô tả.

Tham khảo