Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

NULL deref in cJSON_GetObjectItemCaseSensitive when called on array (develop)

Đang mở
#1,023 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
c
Lĩnh vực
security

Hướng nghiên cứu

Bắt đầu tại cJSON_GetObjectItemCaseSensitive() và so sánh nhánh develop với upstream commit be749d7efa7c. Tái hiện ví dụ Docker A/B bằng gcc và libcjson.a, sau đó xác minh rằng đối số array trả về (nil) mà không xảy ra SIGSEGV. Việc hoàn tất cũng bao gồm quyết định xem các ghi nhận được yêu cầu ở đây trong CVE, GHSA và changelog hoặc release-note có cần thiết hay không.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

current develop branch still crashes when cJSON_GetObjectItemCaseSensitive() is called on a cJSON array (rather than an object). the master commit be749d7efa7c (CVE-2019-1010239) fixed it but hasn't reached develop.

Docker A/B verification (gcc + libcjson.a in ubuntu:22.04):

cJSON *a = cJSON_CreateArray();
cJSON_AddItemToArray(a, cJSON_CreateString("x"));
cJSON *r = cJSON_GetObjectItemCaseSensitive(a, "key");
printf("%p\n", r);
  • pre-fix: exit 139 (SIGSEGV on strcmp(name, NULL))
  • post-fix: prints (nil) exit 0

backport branch: dkgkdfg65/cJSON @ nonbsp/backport/cve-2019-1010239-develop. PR follows.

upstream commit: https://github.com/DaveGamble/cJSON/commit/be749d7efa7c
CVE: https://nvd.nist.gov/vuln/detail/CVE-2019-1010239

asks: in addition to the PR, would you consider acknowledging dkgkdfg65 (https://github.com/dkgkdfg65) for surfacing the develop-branch scope — via:

  • contacting the CVE-2019-1010239 CNA ([email protected]) to add me as a reporter
  • a project-side GHSA on this repo referencing the CVE
  • mention in CHANGELOG / release notes
Ngôn ngữ chính
C
Star
13k
Fork
3.5k
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của DaveGamble/cJSON

Tất cả issue của DaveGamble/cJSON

Issue tương tự

Thêm issue về C

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.