- **Essence**: Signal handler **race condition** in OpenSSH's `sshd` 🚨
- In **SIGALRM** handler, unsafe funcs are called ⚠️
- **Consequences**:
- 🎯 Remote code execution (RCE)
- 🔓 Gain **root** control
- …
- **Root Cause**: Race condition in signal handling 🚨
- **CWE Idea**: Improper synchronization
- Calls **async-signal-unsafe** functions in `SIGALRM` ❌
- Triggers undefined behavior → exploitable state 🧨
Q3影响谁?(版本/组件)
- **Affected Component**: OpenSSH server (`sshd`) 🖥️
- **Versions**: `8.5p1` ➡️ `9.8p1` 📌
- **Platform**: glibc-based Linux systems 🐧
Q4黑客能干啥?(权限/数据)
- 🔓 **Privilege**: Full **root** access
- 💾 **Data**: Full system compromise
- 🕹️ Can execute **arbitrary code** remotely
- 🚪 Full control over target machine
- ✅ **Official fix released** 🛡️
- Fixed in **OpenSSH 9.8p1** 📦
- See release notes: https://www.openssh.com/txt/release-9.8
- Vendors (e.g. Red Hat) issued advisories 📄
Q9没补丁咋办?(临时规避)
- 🚧 **Workaround** if no patch:
- Set `LoginGraceTime` to `0` in sshd_config ⏳
- Mitigates via faster timeout
- 🔐 Disable SSH password login (key-only)
- 🧱 Restrict SSH access via firewall / fail2ban
Q10急不急?(优先级建议)
- 🚨 **Urgent** – Critical priority 🔥
- CVSS: `8.1` → HIGH 💥
- RCE + **no auth** + public PoC = 💣
- Patch **immediately** or apply workaround ⚡
- 🧨 Risk of full system takeover