Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Django のセキュリティリリースを見る
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Yamaguchi Takahiro
December 21, 2022
Technology
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Django のセキュリティリリースを見る
Yamaguchi Takahiro
December 21, 2022
More Decks by Yamaguchi Takahiro
See All by Yamaguchi Takahiro
関西Kaggler会_不確実性最適化ゲーム入門
nyk510
1
1.2k
コンペを気楽に開催しよーぜ!@関西Kaggler会
nyk510
0
1.5k
3分でMLアプリを作る 〜推論コードにちょっとのStreamlitを添えて〜
nyk510
1
1.2k
硬派で真面目なグラフを描く
nyk510
0
580
CORSをちゃんと理解する atmaバックエンド勉強会#4
nyk510
0
470
pythonで気軽にパッケージを作るのは良いという話。
nyk510
14
9.9k
RestAPIのページネーション atma バックエンド勉強会 #3
nyk510
1
1.1k
AWS CPU Credit を完全に理解する
nyk510
0
530
atmaCup#8 Opening
nyk510
0
340
Other Decks in Technology
See All in Technology
hackers_champloo_2026_tidb
makocchi
0
140
AI × アーキテクト 第1・2章|生成AIの課題とアーキテクトの素養
daidaidai
0
110
[AWS 秋のクラウドオペレーション祭り 2026]AWS DevOps Agentで変わるリリースと運用対応 ~リリース管理機能と Directed actions のご紹介~
furuton
4
1.2k
Loop Engineering, beyond prompt, context, and harness engineering
glaforge
0
110
自分で立ててみるLLMサービス
y_sera15
0
160
Post AI時代のリファクタリング実践記 / Refactoring in the post AI era
kaminashi
1
200
不可逆な意思決定を避けながら10億超の顧客データを AI Ready にするデータ基盤設計
baseballyama
1
310
分析AIエージェントを育てる、動く環境を育てる
codatum
1
1k
Datadog の学び方 - あるいは、オブザーバビリティを学ぶとは何か
mananyuki
1
560
FactoryBotアンチパターン / factory_bot anti-patterns
toshimaru
0
160
go-sqletch
moznion
0
140
WasmをRustにする
sansantech
PRO
0
220
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
529
40k
Become a Pro
speakerdeck
PRO
31
6.3k
The Cost Of JavaScript in 2023
addyosmani
55
10k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
320
Product Roadmaps are Hard
iamctodd
55
13k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
WCS-LA-2024
lcolladotor
0
880
It's Worth the Effort
3n
188
29k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
600
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
370
Mind Mapping
helmedeiros
1
400
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を作らずメールせよとのこと • 公にセキュリティの不備が知られるとまずいのでそうなってる