Lỗ hổng trong JavaScript khiến ứng dụng đối mặt nguy cơ bị thực thi mã từ

  • Thread starter Thread starter Kaya
  • Ngày gửi Ngày gửi

Kaya

Writer
Một lỗ hổng vừa được phát hiện trong thư viện form-data trên npm. Với mã định danh CVE-2025-7783, lỗ hổng này ảnh hưởng đến hàng triệu ứng dụng web và API đang sử dụng JavaScript/Node.js trên toàn cầu, đặc biệt là trong các hệ thống backend, microservices và serverless.

Nguyên nhân gốc rễ đến từ cách sinh chuỗi "boundary" không an toàn trong file "form_data.js", dòng 347:
boundary += Math.floor(Math.random() * 10).toString(16);​

Đây là cách tạo ra chuỗi phân cách (boundary) giữa các phần dữ liệu trong biểu mẫu dạng multipart/form-data. Vấn đề là Math.random() không đủ ngẫu nhiên, nó chỉ là một trình tạo số giả định (PRNG), nên nếu hacker quan sát được một vài giá trị được tạo ra từ Math.random(), họ hoàn toàn có thể dự đoán các giá trị tiếp theo, bao gồm cả boundary.​

Lỗ hổng hoạt động như thế nào?​

  1. Ứng dụng dùng form-data để gửi dữ liệu người dùng dưới dạng "multipart/form-data" (ví dụ: ảnh, biểu mẫu đăng ký, tệp đính kèm...).​
  2. Đồng thời, ứng dụng vô tình để lộ giá trị Math.random() ra ngoài, chẳng hạn qua header như "x-request-id", "trace-id" hoặc debug log.​
  3. Hacker quan sát những giá trị đó, từ đó tính toán được trạng thái nội bộ của PRNG.​
  4. Họ dùng nó để dự đoán chuỗi boundary trong các lần gửi tiếp theo.​
  5. Sau đó, tạo ra gói tin độc hại chứa boundary chính xác, thêm vào các tham số giả mạo, tiêm dữ liệu độc hại vào hệ thống nội bộ, thậm chí truy cập trái phép vào các API backend.​

1753424892753.png

Mức độ nguy hiểm và phạm vi ảnh hưởng​

  • Mức độ nghiêm trọng: "Critical" theo thang điểm CVSS v4.​
  • Ảnh hưởng rộng khắp: Các phiên bản bị ảnh hưởng gồm:
    • Dưới 2.5.4​
    • 3.0.0 đến 3.0.3​
    • 4.0.0 đến 4.0.3​
  • Điều kiện khai thác không quá phức tạp nếu ứng dụng để lộ các giá trị ngẫu nhiên.​
Lỗi này tương tự một vấn đề gần đây trong thư viện Undici, cho thấy đây không phải là trường hợp cá biệt mà là xu hướng sai sót phổ biến trong việc dùng Math.random() ở JavaScript.​

Giải pháp khuyến nghị cho người dùng:​

  • Cập nhật ngay gói form-data lên các bản đã vá:
    • 4.0.4, 3.0.4 hoặc 2.5.4​
  • Thay thế Math.random() bằng trình tạo số ngẫu nhiên an toàn, như crypto.randomUUID() hoặc crypto.randomBytes() trong Node.js.​
  • Kiểm tra toàn bộ codebase để tìm và thay thế các đoạn code sử dụng Math.random() trong các chức năng bảo mật (như token, ID, xác thực…).​
  • Tránh để lộ thông tin nội bộ (như header chứa trace id) ra ngoài, nếu có dùng PRNG.​
Lỗi CVE-2025-7783 một lần nữa gióng lên hồi chuông cảnh tỉnh cho các nhà phát triển. Khi các hệ thống càng kết nối chặt chẽ và phức tạp hơn, những lỗ hổng nhỏ như chỉ một dòng dùng Math.random(), cũng có thể trở thành "cửa hậu" cho hacker xâm nhập. Đừng để những chi tiết nhỏ đánh đổi cả một hệ thống, bảo mật là việc không bao giờ được làm qua loa.​
Theo WhiteHat.vn
 
Được phối hợp thực hiện bởi các chuyên gia của Bkav, cộng đồng An ninh mạng Việt Nam WhiteHat và cộng đồng Khoa học công nghệ VnReview

1,3 tỷ mật khẩu bị rò rỉ, đẩy hàng triệu tài khoản trực tuyến vào nguy hiểm

  • 10,786
  • 0
Một kho dữ liệu khổng lồ vừa bị tung lên web "đen", làm dấy lên cảnh báo về nguy cơ đột nhập tài khoản trên phạm vi toàn cầu. Quy mô rò rỉ lần này...

LANDFALL: Biến ảnh gửi qua WhatsApp thành vũ khí tấn công người dùng Samsung

  • 10,684
  • 0
Các chuyên gia an ninh mạng vừa phát hiện một loại phần mềm gián điệp cực kỳ tinh vi có tên LANDFALL, đang âm thầm tấn công người dùng điện thoại...

Liên minh 3 nhóm hacker khét tiếng thành thế lực đe dọa toàn cầu

  • 14,272
  • 0
Một “liên minh” mới của giới tội phạm mạng đang khiến các chuyên gia bảo mật lo ngại. Ba nhóm hacker khét tiếng: Scattered Spider, LAPSUS$ và...

Cảnh báo: Mã độc giả mạo Telegram X chiếm toàn bộ điện thoại và thiết bị của bạn

  • 11,744
  • 0
Các chuyên gia vừa cảnh báo về một chiến dịch mã độc trên Android, giả mạo ứng dụng Telegram X, có khả năng chiếm quyền kiểm soát gần như toàn bộ...

Hơn 48.000 thiết bị Cisco đối mặt làn sóng tấn công từ ba lỗ hổng nghiêm trọng

  • 10,821
  • 0
Cisco đang gặp cảnh báo an ninh mạng nghiêm trọng khi ba lỗ hổng mới được phát hiện trên các sản phẩm cốt lõi của hãng. Hai lỗ hổng ảnh hưởng đến...

Cháy trung tâm dữ liệu, hơn 600 dịch vụ chính phủ Hàn Quốc tê liệt

  • 12,486
  • 0
Một vụ cháy nghiêm trọng tại Trung tâm Dữ liệu Quốc gia ở thành phố Daejeon đã khiến hơn 600 hệ thống CNTT của chính phủ Hàn Quốc đồng loạt ngừng...

Khi dữ liệu số bị lộ: Hacker có thể làm gì với các thông tin tài chính của bạn?

  • 14,367
  • 1
Các vụ tấn công mạng gần đây cho thấy sự hoạt động của tin tặc đã và đang gia tăng trở lại, đe dọa đến an ninh dữ liệu của người dùng số. Đặt tình...

Apple vá lỗ hổng nghiêm trọng trong hệ thống xử lý hình ảnh: Người dùng cần cập nhật ngay

  • 15,534
  • 0
Apple vừa phát hành bản vá bảo mật để khắc phục lỗ hổng nguy hiểm CVE-2025-43300 trong hệ thống xử lý hình ảnh. Lỗ hổng này cho phép tin tặc chiếm...

HP OmniBook X Flip 14: Laptop chuẩn Copilot+ PC với AI mạnh mẽ, thiết kế linh hoạt cho người dùng hiện đại

  • 16,256
  • 0
Sự xuất hiện của dòng laptop chuẩn Copilot+ PC đang tạo nên làn sóng mới trong thị trường máy tính, nơi AI trở thành lõi công nghệ mang lại hiệu...

Những hiểu nhầm với quy định mới về xác nhận SIM chính chủ

  • 350
  • 0
Nhiều người hiểu chưa đúng về quy định mới liên quan đến xác thực thông tin thuê bao di động, có hiệu lực từ 15/4, khiến lo ngại bị khóa SIM...
Back