לאחרונה, מידע על זיהה 7 נקודות תורפה בחבילת Dnsmasq, המשלב פותר DNS במטמון ושרת DHCP, שהוקצה להם שם הקוד DNSpooq. הבעיהמאפשרים התקפות מטמון DNS נוכלות או הצפת מאגר שעלול להוביל לביצוע מרחוק של קוד התוקף.
למרות שלאחרונה Dnsmasq כבר לא משמש כברירת מחדל כפתרון בהפצות לינוקס רגילות, הוא עדיין משמש באנדרואיד והפצות מיוחדות כמו OpenWrt ו- DD-WRT, כמו גם קושחה לנתבים אלחוטיים של יצרנים רבים. בהפצות רגילות, השימוש המרומז ב- dnsmasq אפשרי, למשל כאשר משתמשים ב- libvirt, ניתן להתחיל לספק שירות DNS במכונות וירטואליות או להפעיל אותו על ידי שינוי הגדרות בתצורת NetworkManager.
מכיוון שתרבות השדרוג של הנתב האלחוטי משאירה הרבה מה להיות הרצוי, חוקרים חוששים שבעיות שזוהו עלולות להישאר בלתי פתורות במשך זמן רב ויהיה מעורב בהתקפות אוטומטיות על נתבים כדי להשיג שליטה עליהם או להפנות משתמשים לאתרים זדוניים נוכלים.
ישנן כ- 40 חברות המבוססות על Dnsmasqכולל Cisco, Comcast, Netgear, Ubiquiti, Siemens, Arista, Technicolor, Aruba, Wind River, Asus, AT&T, D-Link, Huawei, Juniper, Motorola, Synology, Xiaomi, ZTE ו- Zyxel. ניתן להזהיר משתמשים במכשירים כאלה שלא להשתמש בשירות ההפניה הרגיל של שאילתת DNS הניתן בהם.
החלק הראשון של הפגיעות התגלה בדנסמסק מתייחס להגנה מפני התקפות הרעלת מטמון DNS, על בסיס שיטה שהציע דן קמינסקי בשנת 2008.
נושאים מזוהים הופכים את ההגנה הקיימת ללא יעילה ולאפשר זיוף כתובת ה- IP של תחום שרירותי במטמון. השיטה של קמינסקי עושה מניפולציה בגודל הזניח של שדה מזהה שאילתת ה- DNS, שהוא 16 סיביות בלבד.
כדי למצוא את המזהה הנכון הדרוש בכדי לזייף את שם המארח, פשוט שלח כ -7.000 בקשות ודמה כ -140.000 תגובות מזויפות. ההתקפה מסתכמת בשליחת מספר רב של חבילות מזויפות הקשורות ל- IP לפותר ה- DNS עם מזהי עסקאות DNS שונים.
נקודות תורפה מזוהות מפחיתות את רמת האנטרופיה של 32 סיביות צפוי היה לנחש 19 ביטים, מה שהופך התקף של הרעלת מטמון למציאותי למדי. בנוסף, הטיפול של dnsmasq ברשומות CNAME מאפשר לך לזייף את שרשרת רשומות CNAME כדי לזייף ביעילות עד 9 רשומות DNS בכל פעם.
- CVE-2020-25684: חוסר אימות של מזהה הבקשה בשילוב עם כתובת IP ומספר יציאה בעת עיבוד תגובות DNS משרתים חיצוניים. התנהגות זו אינה תואמת ל- RFC-5452, הדורש שימוש בתכונות בקשה נוספות בעת התאמת תגובה.
- CVE-2020-25686: היעדר אימות של בקשות ממתינות בעלות אותו שם, מה שמאפשר שימוש בשיטת יום ההולדת לצמצם משמעותית את מספר הניסיונות הנדרשים לזיוף תגובה. בשילוב עם הפגיעות CVE-2020-25684, תכונה זו יכולה להפחית משמעותית את מורכבות ההתקפה.
- CVE-2020-25685: שימוש באלגוריתם hash לא אמין CRC32 בעת אימות תגובות, במקרה של הידור ללא DNSSEC (SHA-1 משמש עם DNSSEC) ניתן להשתמש בפגיעות כדי להפחית משמעותית את מספר הניסיונות בכך שהיא מאפשרת לך לנצל דומיינים שיש להם אותו חשיש CRC32 כמו תחום היעד.
- מערכת הבעיות השנייה (CVE-2020-25681, CVE-2020-25682, CVE-2020-25683 ו- CVE-2020-25687) נגרמת על ידי שגיאות הגורמות להצפת מאגר בעת עיבוד נתונים חיצוניים מסוימים.
- עבור נקודות התורפה CVE-2020-25681 ו- CVE-2020-25682, ניתן ליצור ניצולים שעלולים להוביל לביצוע קוד במערכת.
לבסוף מוזכר כי פגיעות מטופלות בעדכון Dnsmasq 2.83 וכדרך לעקיפת הבעיה, מומלץ להשבית DNSSEC ומטמון שאילתות באמצעות אפשרויות שורת פקודה.
מקור: https://kb.cert.org