False negative: py/ldap-injection misses taint flow for ldap3 `extend.standard.paged_search`

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

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

評価

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

調査の方向性

py/ldap-injection クエリから始め、ldap3.Connection.search(...) がここに示す conn.extend.standard.paged_search(...) 呼び出しとどのように taint のフローをモデル化しているかを比較します。この API を通じて search_base と search_filter に到達する taint が、既存の検索フローと同等に報告されれば作業は完了です。

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

説明

py/ldap-injection reports taint for ldap3.Connection.search(...), but misses equivalent taint flow in:
conn.extend.standard.paged_search(search_base=..., search_filter=...)

from flask import Flask, request
import ldap3
app = Flask(__name__)
@app.route("/paged")
def paged():
    dn = "dc={}".format(request.args["dc"])
    filt = "(user={})".format(request.args["username"])
    conn = ldap3.Connection(ldap3.Server("ldap://127.0.0.1"), user=dn, auto_bind=True)
    conn.extend.standard.paged_search(search_base=dn, search_filter=filt)  # no alert
主要言語
CodeQL
スター
10.1k
フォーク
2.1k
平均マージ
2日 11時間
マージ済み PR(30日)
129

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

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

github/codeql のほかの issue

github/codeql の issue をすべて見る

似ている issue

Security の issue をもっと見る

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

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