
CVE-2026-80844 (DirtyAH6) के लिए शोध रिपॉज़िटरी, जो एक Linux kernel IPv6 AH6/XFRM स्थानीय विशेषाधिकार वृद्धि है, जिसमें PoC, मूल-कारण और पैच विश्लेषण शामिल है।
DirtyAH6
CVE-2026-80844 एक Linux kernel vulnerability है जो IPv6 Authentication Header (AH6) / XFRM subsystem को प्रभावित करती है।
यह vulnerability IPv6 Routing Header के segments_left field के अपर्याप्त
validation के कारण होती है, जिसके परिणामस्वरूप संभावित रूप से out-of-bounds
memory operation और kernel memory corruption हो सकता है।
यह repository केवल अधिकृत security research, vulnerability analysis, CTFs, और defensive testing के लिए है।
इस research का उपयोग उन systems के विरुद्ध न करें जिनके आप स्वामी नहीं हैं या जिनके परीक्षण की आपके पास स्पष्ट अनुमति नहीं है।
यह vulnerability IPv6 AH6 processing path में मौजूद है।
प्रभावित code निम्नलिखित के माध्यम से routing-header manipulation करता है:
net/ipv6/ah6.c
विशेष रूप से, vulnerable logic में शामिल है:
ipv6_rearrange_rthdr()
यह function निम्नलिखित के बीच संबंध को पर्याप्त रूप से validate करने में विफल रहा:
hdrlen
और:
segments_left
इसलिए, विशेष रूप से तैयार किया गया IPv6 packet प्रदान करने में सक्षम attacker kernel को अपेक्षित routing-header सीमाओं के बाहर memory पर कार्य करने के लिए प्रेरित कर सकता है।
यह निम्नलिखित को जन्म दे सकता है:
Malformed IPv6 packet
│
▼
AH6 / XFRM processing
│
▼
Invalid routing-header state
│
▼
Out-of-bounds memory operation
│
▼
Kernel memory corruption
│
▼
Potential privilege escalation
मूलभूत समस्या IPv6 Routing Header के segments_left मान के अपर्याप्त
validation में है।
संकल्पनात्मक रूप से, vulnerable स्थिति को इस प्रकार दर्शाया जा सकता है:
segments_left > available routing-header addresses
संबंधित address data में परिवर्तन करने से पहले kernel को यह सुनिश्चित करना चाहिए कि routing header द्वारा अनुरोधित segments की संख्या वास्तविक header length के अनुरूप हो।
उस validation के बिना, बाद के memory operations वैध buffer सीमाओं से परे कार्य कर सकते हैं।
सफल exploitation आवश्यक स्थानीय capabilities/environment वाले attacker को kernel memory को corrupt करने की अनुमति दे सकता है।
संभावित परिणामों में शामिल हैं:
सटीक exploitability kernel configuration, उपलब्ध namespaces/capabilities, और अन्य पर्यावरणीय स्थितियों पर निर्भर करती है।
net/ipv6/ah6.c
संबंधित processing:
AH6
└── IPv6 Routing Header
└── ipv6_rearrange_rthdr()
समस्याग्रस्त परिदृश्य में असंगत routing-header metadata शामिल है।
उदाहरण के लिए, संकल्पनात्मक रूप से:
hdrlen → describes a limited number of addresses
segments_left → claims more addresses than are available
kernel द्वारा address rearrangement करने से पहले इस असंगति को अस्वीकार किया जाना चाहिए।
upstream fix kernel द्वारा vulnerable operation करने से पहले Routing Header के
segments_left मान के लिए validation प्रस्तुत करता है।
संबंधित upstream commit है:
7bad4bda74dc4713f398d3b7624ff05478e3a568
xfrm: ah6: validate routing header segments_left
security fix को इस प्रकार संक्षेपित किया जा सकता है:
Before:
Trust segments_left
↓
Rearrange addresses
↓
Potential OOB access
After:
Validate segments_left
↓
Reject malformed header
↓
Safe AH6 processing
प्रभावित संस्करण upstream और vendor backport history पर निर्भर करते हैं।
उपयोगकर्ताओं को केवल upstream version number पर निर्भर रहने के बजाय अपने distribution की security advisory की जाँच करनी चाहिए।
patched upstream stable releases के उदाहरणों में शामिल हैं:
चल रहे kernel की जाँच करें:
uname -a
या:
uname -r
विस्तृत kernel जानकारी की जाँच करें:
cat /proc/version
Debian/Kali-आधारित systems के लिए:
apt-cache policy linux-image-amd64
RPM-आधारित systems के लिए:
rpm -q kernel
Distribution kernels अक्सर upstream version को स्पष्ट रूप से बदले बिना security fixes backport करते हैं। हमेशा vendor advisory/changelog की जाँच करें।
प्राथमिक शमन security fix वाले kernel में upgrade करना है।
Debian/Kali:
sudo apt update
sudo apt full-upgrade
फिर reboot करें:
sudo reboot
सत्यापित करें:
uname -r
production systems के लिए, kernel updates लागू करने से पहले Linux distribution की आधिकारिक security advisory देखें।
अनुशंसित पृथक वातावरण:
Host
│
├── Kali Linux
│
└── Vulnerable Linux VM
│
├── Debug kernel
├── IPv6 enabled
├── AH6/XFRM support
└── Kernel symbols
उपयोगी debugging tools:
gdb
gef
pwndbg
crash
dmesg
pahole
objdump
readelf
Kernel debugging:
sudo dmesg -w
Kernel symbols का निरीक्षण करें:
cat /proc/kallsyms
CVE-2026-80844-DirtyAH6/
│
├── README.md
│
├── exploit/
│ ├── poc.c
│ └── Makefile
│
├── analysis/
│ ├── vulnerability.md
│ ├── root-cause.md
│ └── patch-analysis.md
│
├── kernel/
│ ├── vulnerable.patch
│ └── fixed.patch
│
├── docs/
│ └── research-notes.md
│
├── screenshots/
│
└── LICENSE
PoC सामग्री को केवल एक पृथक प्रयोगशाला वातावरण के भीतर निष्पादित किया जाना चाहिए।
research implementation malformed IPv6 Routing Header स्थिति को प्रदर्शित करने और परिणामी kernel व्यवहार का निरीक्षण करने पर केंद्रित है।
अपेक्षित research workflow:
Craft malformed IPv6 header
↓
Transmit inside isolated lab
↓
AH6/XFRM processing
↓
Observe kernel behavior
↓
Capture dmesg / crash information
↓
Compare vulnerable vs patched kernel
उदाहरण monitoring:
sudo dmesg -w
एक patched kernel को vulnerable memory operation तक पहुँचे बिना malformed input को अस्वीकार करना चाहिए।
यह vulnerability दर्शाती है कि kernel network parsers को attacker द्वारा प्रदान किए गए length या count fields पर कभी भी भरोसा नहीं करना चाहिए।
security-critical parsing को इसका पालन करना चाहिए:
Input
↓
Bounds validation
↓
Relationship validation
↓
State validation
↓
Memory operation
न कि:
Input
↓
Memory operation
↓
Validation
दो packet metadata fields के बीच एक छोटी सी असंगति भी kernel-level memory-safety vulnerability बन सकती है।
7bad4bda74dc4713f398d3b7624ff05478e3a568xfrm: ah6: validate routing header segments_leftLinux Kernel Security Research
CVE-2026-80844 · IPv6 · AH6 · XFRM · LPE
Research • Analyze • Understand • Harden
| Field | Details |
|---|
| CVE | CVE-2026-80844 |
| Codename | DirtyAH6 |
| Component | Linux Kernel |
| Subsystem | IPv6 / XFRM / AH6 |
| Vulnerability Type | Local Privilege Escalation |
| Attack Vector | Local |
| Attack Complexity | Low |
| Privileges Required | Low |
| User Interaction | None |
| CVSS v3.1 | 7.8 — High |
| Affected Code | net/ipv6/ah6.c |
| Status | Patched |
| Kernel branch | Patched release |
|---|
| 5.10 | 5.10.270 |
| 5.15 | 5.15.221 |
| 6.1 | 6.1.188 |
| 6.6 | 6.6.157 |
| 6.12 | 6.12.109 |
| 6.18 | 6.18.50 |
| 7.2 | 7.2.4 |
| Behavior | Vulnerable Kernel | Patched Kernel |
|---|
Malformed segments_left | Insufficient validation | Validated |
| Routing-header processing | May continue | Rejected when invalid |
| OOB memory operation | Potentially reachable | Prevented |
| Kernel corruption | Possible | Mitigated |
| Privilege escalation | Potential | Mitigated |