Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

NULL deref in cJSON_GetObjectItemCaseSensitive when called on array (develop)

オープン
#1,023 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 12 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
c
領域
security

調査の方向性

cJSON_GetObjectItemCaseSensitive() から開始し、develop ブランチと upstream commit be749d7efa7c を比較します。gcc と libcjson.a を使って Docker A/B 例を再現し、その後、array 引数が SIGSEGV なしで (nil) を返すことを確認します。ここで要求されている CVE、GHSA、および changelog または release-note での謝辞が必要かどうかを判断することも、完了条件に含まれます。

索引モデルが issue の本文から書いたものです。

説明

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
主要言語
C
スター
13k
フォーク
3.5k
PR マージ指標
30日以内にマージされた PR はありません

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

DaveGamble/cJSON のほかの issue

DaveGamble/cJSON の issue をすべて見る

似ている issue

C の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。