Exim 係乜係乜嘢?佢係 Linux / Unix 世界最常用嘅 Mail Transfer Agent(MTA),簡單講就係負責 send 同 receive email 嘅底層軟件。Debian 同 Ubuntu default 都係用佢。全世界上百萬台伺服器行緊 Exim,你公司嗰部好大機會都係。
今次呢個漏洞真係大鑊 — CVE-2026-45185,CVSS 9.8 Critical,unauthenticated remote code execution。即係話攻擊者唔需要任何 login credential,只要 send 一個特製嘅 SMTP request 就可以 remote 執行任意 code。
## 技術背景:Use-After-Free(UAF)
UAF 係經典 memory safety bug。簡單比喻:你退咗間房俾酒店(free),但仲 keep 住條鎖匙(dangling pointer),之後用條舊鎖匙去開間已經俾咗第二個人嘅房 — 咁就可以亂搞人哋啲嘢。
今次 Exim 個 bug 嘅具體流程係咁:
1. 當 Exim 用 GnuTLS 處理 BDAT(chunked SMTP)嘅時候
2. TLS shutdown 會 free 咗個 TLS transfer buffer
3. 但之後 Exim 仲繼續用已經 free 咗嘅 callback references
4. 呢啲 stale references 會 write data 入去 freed memory region
5. 結果 = 攻擊者可以控制 memory,最終做到 arbitrary code execution
## 影響範圍
| 條件 | 詳情 |
|——|——|
| 影響版本 | Exim 4.97 – 4.99.2 |
| TLS Library | 用 GnuTLS 編譯嘅先受影響 |
| 需要功能 | STARTTLS + CHUNKING 需要 advertised |
| OpenSSL 版本 | ✅ 唔受影響 |
| 已修復版本 | Exim 4.99.3 |
**重要:** 如果你係用 OpenSSL build 嘅 Exim,今次唔使驚。但 Debian/Ubuntu default 係用 GnuTLS 㗎!所以大部分 Linux distro 嘅 Exim 都中招。
## Step-by-Step:Check 你部機有冇中招
### Step 1:Check Exim 版本
exim -bV | head -1
如果 output 係 `Exim version 4.97` 至 `4.99.2` 之間,繼續下一步。
### Step 2:Check 係咪 GnuTLS build
exim -bV | grep -i gnutls
如果有 output(例如 `Support for: … GnuTLS`),即係你用緊 GnuTLS,中招。
如果見到 `OpenSSL` 而冇 `GnuTLS`,恭喜你,今次冇事。
### Step 3:Check CHUNKING 係咪 advertised
exim -bP chunking_advertise_hosts | grep -v "^#"
如果 return `*` 或者冇 comment out,即係 CHUNKING enabled。
### Step 4:Check STARTTLS
exim -bP tls_advertise_hosts | grep -v "^#"
同樣道理。
### Step 5:如果三個條件都中 — 你係 vulnerable
## 點樣 Fix?
**最直接方法:Upgrade Exim 去 4.99.3**
Ubuntu/Debian:
sudo apt update && sudo apt upgrade exim4
# Check 版本
exim -bV | head -1
# 應該見到 4.99.3 或以上
如果 package manager 仲未有新版本,可以自己 compile:
wget https://ftp.exim.org/exim/exim4/exim-4.99.3.tar.gz
tar xzf exim-4.99.3.tar.gz
cd exim-4.99.3
# 用 OpenSSL 而唔係 GnuTLS
make clean
make
sudo make install
**Workaround(如果 upgrade 唔到):**
可以暫時 disable CHUNKING:
# 喺 exim.conf 加呢行
chunking_advertise_hosts =
然後 restart Exim:
sudo systemctl restart exim4
## 呢個漏洞嘅特別之處
呢個漏洞係由 XBOW 嘅 researcher Federico Kirschbaum 發現嘅。最有趣嘅係,XBOW 做咗個實驗:用佢哋嘅 AI 系統「XBOW Native」同一個有 LLM 輔助嘅人類 researcher 比賽,睇邊個可以快啲寫到 working PoC exploit。
**結果:XBOW Native(AI)用咗 7 日成功寫出 exploit。**
呢個唔單止係一個 vulnerability disclosure,仲係一個 AI 喺 offensive security 領域能力嘅示範。以後 zero-day exploit 開發嘅門檻會越嚟越低。
## 總結
– Exim CVE-2026-45185 係 critical UAF RCE
– GnuTLS build + STARTTLS + CHUNKING 先受影響
– 即刻 check 你嘅 Exim server
– Upgrade 去 4.99.3 或者 disable CHUNKING
– AI 已經可以自動寫 exploit,patching 速度要更快
記住:呢個世界冇絕對安全嘅系統,只有未俾人發現嘅漏洞。定期 update、monitor log、做好 defense in depth,先係生存之道。
Stay safe, stay patched. 🛡️
#技術分享 #Linux #TLS #IT教學



