Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Django のセキュリティリリースを見る
Search
Yamaguchi Takahiro
December 21, 2022
Technology
0
76
Django のセキュリティリリースを見る
Yamaguchi Takahiro
December 21, 2022
Tweet
Share
More Decks by Yamaguchi Takahiro
See All by Yamaguchi Takahiro
コンペを気楽に開催しよーぜ!@関西Kaggler会
nyk510
0
1.2k
3分でMLアプリを作る 〜推論コードにちょっとのStreamlitを添えて〜
nyk510
1
1.1k
硬派で真面目なグラフを描く
nyk510
0
500
CORSをちゃんと理解する atmaバックエンド勉強会#4
nyk510
0
380
pythonで気軽にパッケージを作るのは良いという話。
nyk510
14
9.5k
RestAPIのページネーション atma バックエンド勉強会 #3
nyk510
1
920
AWS CPU Credit を完全に理解する
nyk510
0
440
atmaCup#8 Opening
nyk510
0
240
オンサイトデータコンペの魅力: 関わる全員が楽しいコンペ設計のための取り組み
nyk510
3
5.3k
Other Decks in Technology
See All in Technology
Amazon CloudWatchで始める エンドユーザー体験のモニタリング
o11yfes2023
0
190
QA/SDETの現在と、これからの挑戦
imtnd
0
120
4/16/25 - SFJug - Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
1
110
watsonx.data上のベクトル・データベース Milvusを見てみよう/20250418-milvus-dojo
mayumihirano
0
110
AWSで作るセキュアな認証基盤with OAuth mTLS / Secure Authentication Infrastructure with OAuth mTLS on AWS
kaminashi
0
160
AWS Control Towerを 数年運用してきての気づきとこれから/aws-controltower-ops-tips
tadayukinakamura
0
150
生成AIによるCloud Native基盤構築の可能性と実践的ガードレールの敷設について
nwiizo
7
730
Porting PicoRuby to Another Microcontroller: ESP32
yuuu
4
410
AIでめっちゃ便利になったけど、結局みんなで学ぶよねっていう話
kakehashi
PRO
0
130
PagerDuty×ポストモーテムで築く障害対応文化/Building a culture of incident response with PagerDuty and postmortems
aeonpeople
1
120
LiteXとオレオレCPUで作る自作SoC奮闘記
msyksphinz
0
630
AI AgentOps LT大会(2025/04/16) Algomatic伊藤発表資料
kosukeito
0
140
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Side Projects
sachag
452
42k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
19
1.1k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.5k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.5k
Raft: Consensus for Rubyists
vanstee
137
6.9k
Code Reviewing Like a Champion
maltzj
522
40k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.2k
Into the Great Unknown - MozCon
thekraken
37
1.7k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
StorybookのUI Testing Handbookを読んだ
zakiyama
29
5.6k
Transcript
Django のセキュリティリリー スを見る 2022/10/26 nyk510
Djangoはすごい! が頼り過ぎてる…? • Djangoはフルスタックフレームワークでセキュリティについては心配ない、と思っている • ただ実際にはたまにセキュリティインシデントが見つかってパッチが配布されている • 具体的な中身とかどうやって開発されているとか知らない…おんぶにだっこ
今日の目的 • 今も残っている不具合を知る • どういう方法で配布されているかの仕組みをしる
Djangoのバージョン管理方法 • githubで管理されている • 新しいバージョンができるとリリースのための tag が切られ公式サイトで通知される • リリース一覧は https://docs.djangoproject.com/en/4.1/releases/
から見ることができる
最近のセキュリティ系のリリース Django 4.0.8 release notes https://docs.djangoproject.com/en/4.1/releases/4.0.8/ から拝借 (2022-10-16)
最近のセキュリティ系のリリース Django 4.0.8 release notes https://docs.djangoproject.com/en/4.1/releases/4.0.8/ から拝借 (2022-10-16) リリースページにセキュリティ issue
であることがそのレベルと共に表記され る - 高: リモートコード実行・ SQLインジェクション - 中: XSS・CSRFなどの攻撃系 - 低: レアケースな設定の問題・未検証のリダイレクト問題等 名前はCVE + わかりやすい説明と共に表記される。 (国際化された URL における潜在的なサービス拒否の脆弱性 )
CVEとは? 情報セキュリティのおける脆弱性やインシデントに ついて固有の名前をつけて管理するデータベース 昔は各種の団体やベンダーが独自報告して散逸して いることを問題視して作られた に作成せずCVEに統一されることで脆弱性の比較検 討が容易になった(トノコト) https://www.cve.org/
Django 4.0.8 に該当するページを調べるには? CVE から始まるIDで調べると出てくる • https://www.cve.org/CVERecord?id=CVE -2022-41323 先程よりも包括的な内容が記載されている •
django4.0.8以外でも修正されたことがわか る 内容と参照すべきリンクが記載されている • 今回の場合だとリリースがどこに影響があっ たかや、どこで修正がされたか (commit) な ども記載がある。
どういう内容だった? CVEのページに当該修正の commit log がある: https://github.com/django/django/commit/5 b6b257fa7ec37ff27965358800c67e2dd11c9 24 修正内容は1行 (というより10文字ぐらい)・
re.escape を追加するところ
どういう内容だった? • 言語指定に正規表現が受け付けられていた • 内部に正規表現で意味がある単語が利用さ れるとクラッシュする ◦ 例えば `e(` などをリクエストされたと
き [re.error: missing ), unterminated subpattern at position 1] となる • これによりDDos攻撃などに弱くなる
番外編: もしセキュリティ関連のミスを見つけたら? • Djangoのissueを作らずメールせよとのこと • 公にセキュリティの不備が知られるとまずいのでそうなってる