NULL deref in cJSON_GetObjectItemCaseSensitive when called on array (develop)
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
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
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của DaveGamble/cJSON
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
DaveGamble/cJSON#1094 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
DaveGamble/cJSON#1093 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
DaveGamble/cJSON#1082 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
DaveGamble/cJSON#1081 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
DaveGamble/cJSON#1074 ·
Tất cả issue của DaveGamble/cJSON
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
python-pillow/Pillow#10087 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
OpenPrinting/cups#1729 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
awslabs/amazon-kinesis-video-streams-webrtc-sdk-c#2406 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
status:needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 90/100
PX4/PX4-Autopilot#28923 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày