
CVE-2017-11176 のコード実行のための概念実証
Linux カーネル 4.11.9 までの mq_notify 関数は、リトライロジックへのエントリ時に sock ポインタを NULL に設定しません。ユーザースペースでの Netlink ソケットのクローズ中に、攻撃者がサービス拒否 (use-after-free) を引き起こしたり、その他の不特定の影響を与える可能性があります。
これらの投稿をチェックしてください。そこから多くを学びました。
SMAP は無効化されていますKASLR は無効化されていますSLAB アロケータが悪用されていますheap.c: ターゲットキャッシュの発見に使用されます*.stp: これらのファイルは System Tap のデバッグに使用されます。また offset.stap は構造体のオフセットを出力します。gdb.script: デバッグ用の gdb スクリプトです。RAX がユーザースペースにある場合にブレークポイントをトリガーします。パフォーマンスの問題を避けるため、最初のブレークポイントにヒットした後に2つ目のブレークポイントを挿入することに注意してください (wake_up は何度も呼び出されます)。