• בלוג
  • פרצה קריטית ב-CUPS חושפת מערכות מבוססות UNIX למתקפת RCE

פרצה קריטית ב-CUPS חושפת מערכות מבוססות UNIX למתקפת RCE

פרצה קריטית ב-CUPS חושפת מערכות מבוססות UNIX למתקפת RCE

פורסם ב 01-10-2024

information-security

ארבע פרצות קריטיות נמצאו ב-CUPS, חלק מרכיב OpenPrinting המצוי בלא מעט מערכות מבוססות UNIX.
בין המערכות הפגיעות: ArchLinux, Debian, Ubuntu, Fedora, Red Hat Enterprise Linux (RHEL), FreeBSD, NetBSD, OpenBSD, openSUSE, and SUSE Linux ואפילו MacOS ו-ChromeOS.

שימוש בפרצות יכול לאפשר למשתמש לא מאומת (תוקף פוטנציאלי) לבצע הוצאה לפועל של קוד מרחוק (RCE – Remote Code Execution). זאת, באמצעות החלפת קובץ ה-url של מדפסת הפועלת בפרוטוקול IPP (פרוטוקול הדפסה דרך האינטרט – Internet Printing Protocol) או על ידי התקנת קובץ PPD חדש. ברגע שמשימת הדפסה מתקבלת (מהמחשב עליו מותקן קובץ ה-PPD), הפקודה, המכילה את הקוד הזדוני, יוצאת לפועל.

ככה נראה חלק מקובץ PPD של מדפסת לקסמרק C524.
מתוך קובץ PPD של מדפסת Lexmark

ארבעת הפרצות התגלו על ידי חוקר אבטחת מידע בשם סיימון מרגריטלי (Simon Margaritelli). הן תוייגו כ-CVE-2024-47176 ,CVE-2024-47175 ,CVE-2024-47076 ו- CVE-2024-47177, ואומתו על ידי מפיצות גדולות כמו Canonical ו-RedHat. למעשה, לטענתו של מרגריטלי, הפרצות קיימות בהפצות השונות כבר בערך 10 שנים (!!!), מה שמעלה את הסיכוי שמתישהו, על ידי מישהו, הן נוצלו בהצלחה.
על איך הפרצות התגלו, על תהליך הגילוי ועל איך הן עובדות בדיוק, ניתן לקרוא בבלוג של מרגריטלי (שימו לב שמדובר בחלק א’ בלבד).

הפרצות בנפרד וכמכלול

CVE-2024-47076: נמצאת בספריית libscupsfilters. הספריה לא מסננת או מטהרת תכונות (attributes) כאשר הן נכתבות לקובץ PPD זמני. בשל כך, התוקף יכול להחדיר נתונים זדוניים לקובץ ה-PPD הזמני.
CVE-2024-47175: קיימת בספריית libppd, המכילה פונקציות שונות הקשורות ל”התמודדות” עם מדפסות באמצעות קבצי PPD.
 פונקציית ppdCreatePPDFromIPP2 לא מבצעת ווידוא או טיהור של תכונות התקשורת בפרוטוקול IPP כאשר הן נכתבות לקובץ ה-PPD. כך, יכול התוקף להחדיר אליו נתונים זדוניים.
CVE-2024-47176: פרצה בשירות cups-browsed, האחראי על איתור מדפסות ברשת. הכשל בשירות מצוי בכך שהוא “סומך” על כל חבילת נתונים (packet) מכל מקור דרך פורט UPD 631. הוא שולח בעקבות זאת בקשת IPP של Get-Printer-Attributes לכתובת ה-url הנשלטת על ידי התוקף.
CVE-2024-47177: הפרצה מצויה בחבילת הקבצים cups-filters בפונקציית foomatic-rip, ומאפשרת הוצאה לפועל של פקודה שרירותית (או ACE – חולשה המאפשרת לתוקף להריץ כל פקודה או קוד לבחירתו על המערכת או התהליך הנמצאים תחת התקפה). פעולה זאת מתבצעת דרך פרמטר FoomaticRIPCommandLine בקובץ ה-PPD.

ניתן לנצל את הפרצות האלה בשתי דרכים:
האחת היא דרך רשת איזורית (WAN) כולל האינטרנט: כל שהתוקף צריך לעשות הוא לשלוח מנת מידע (Datagram) דרך פורט 631 כדי לרשום על המחשב המארח מדפסת חדשה עם קובץ PPD זדוני (או להחליף את הקובץ של מדפסת קיימת). מאחר ואין שום הגנה על פורט 631, גם בידי cups-browsed שאמור לנהל אותו, ניתן להשיג את התוצאה הרצויה די בקלות.
השניה היא דרך הרשת המקומית (LAN), באמצעות פרוטוקול mDNS – הכוללת רישום אוטומטי של מדפסת או החלפת קובץ PPD של מדפסת קיימת. גם אפשרות זו משתמשת בפרוטוקול 631 דרך cups-browsed daemon.

כפי שניתן לראות, לא מדובר בתהליך מורכב או מסובך בשביל ניצול מוצלח של הפרצה. כל שהתוקף צריך הוא גישה למערכת המותקפת דרך רשת האינטרנט או דרך רשת מקומית, את פורט 631 פתוח, את שירות cups-browsed פועל, משלוח של מנת מידע, הגדרת מדפסת חדשה, וייצור של קובץ PPD בעל קוד זדוני. מכאן, כל מה שהתוקף צריך כדי שהמתקפה תצליח, זה שמשתמש כלשהו במערכת ינסה לבצע הדפסה עם ה”מדפסת” שהוגדרה על ידי התוקף.

איך נתגונן?

נכון לעכשיו, הפרצה תוקנה רק במערכות אובונטו.
בשביל לסגור את הפרצה, על משתמשי אובונטו לבצע עדכון למערכת ההפעלה, ולאתחל את CUPS באמצעות הפקודה הבאה:
sudo systemctl restart cups.service

מאחר ומדובר בפרצה קריטית ביותר (CVE 9.9), סביר להניח ששאר המערכות יקבלו עדכון בקרוב.
עד אז, נמליץ על הצעדים הבאים על מנת לצמצם את הסכנה. כללנו גם את הפקודות:

ראשית, יש לבדוק אם שירות cups-browsed פעיל: sudo systemctl status cups-browsed
אם הוא פעיל (סטטוס active), יש לעצור אותו: sudo systemctl stop cups-browsed
ומומלץ גם לבטל את האופציה שיפעל מחדש לאחר אתחול: sudo systemctl disable cups-browsed
אם אתם לא משתמשים בשירות, מומלץ להסיר אותו לחלוטין: sudo apt remove cup

שנית, השתמשו בפיירוול שלכם כדי לחסום תקשורת דרך פורט UPD 631. למעשה, מרגריטלי ממליץ לחסום את כל התקשורת העוברת דרך פרוטוקול DNS-SD.

שאלות נפוצות של Jetserver – כל מה שצריך לדעת

חברת Jetserver, אשר הוקמה בשנת 2006, היא חברה המספקת שירותי רישום דומיינים, שירותי אחסון אתרים ושירותי ענן שונים, עם התאמה אישית לכל לקוח.
החברה מורכבת מאנשי צוות בעלי רקע טכנולוגי מגוון, עם ניסיון בתחומים רבים כגון מחקר ופיתוח, תקשורת נתונים, סיסטם, אבטחת מידע, ועוד.
Jetserver מספקת תמיכה טכנית באמצעות מענה אנושי שפעיל 24/7, ומערך תמיכה שהוקם על בסיס אהבת אדם ועזרה לזולת.
הדבר החשוב ביותר ל-Jetserver הוא הצלחת לקוחותיה, ואספקת שירות מאובטח, מהיר, יציב, נגיש, וברמה הגבוהה ביותר.

• וותק וניסיון - שנצברו לאורך שנות הפעילות של החברה מאז שנת 2006

• התאמה אישית וגמישות – חברת Jetserver מתגאה ביכולתה להתאים את שירותיה לכל לקוח ולכל צורך

• תמיכה מעולה – שזמינה 24/7, וניתנת על ידי נציגים מקצועים ומנוסים בתחום

• חוות שרתים בפריסה עולמית – מעל ל-20 חוות שרתים שפרוסות בנקודות מפתח ברחבי העולם, ומאפשרות הנגשת שירותים גלובלית

• אבטחת מידע ועמידה בתקנים – חברת Jetserver עומדת בתקן ISO/IEC 27001, ומחויבת לשמור על הסטנדרטים הגבוהים ביותר של אבטחת מידע

Jetserver מציעה מגוון שירותי אחסון אתרים ושירותי ענן שמתאימים לכל סוגי הלקוחות – פרטיים ועסקיים כאחד, כאשר כל שירות מגיע במספר חבילות ורמות:

שירותי אחסון אתרים:
• אחסון ייעודי מהיר לוורדפרס (WordPress), ג’ומלה (Joomla) ומג’נטו (Magento)
• אחסון אתרים שיתופי
• תוכנית ריסלר (Reseller)
• אחסון אתרים מבוסס אופטימיזציה במנועי חיפוש (SEO)

שירותי ענן:
• שרת וירטואלי פרטי (VPS) בהתאמה אישית, כולל אפשרות לניהול מלא על ידי Jetserver
• סביבת Docker מנוהלת
• אחסון NodeJS על-גבי שרת ענן

פתרונות אבטחת מידע וסייבר:
• חומת-אש בענן (Cloud Firewall)
• פתרונות התאוששות מאסון

ו-שירותי רישום ורכישת דומיינים בינלאומיים וישראליים (כרשם מוסמך על ידי איגוד האינטרנט הישראלי).

אנחנו מציעים מגוון רחב של חבילות אחסון אתרים:
• שרת וירטואלי פרטי (VPS)
• אחסון אתרים שיתופי
• אחסון אתרים ריסלר (Reseller)
• אחסון אתרים מהיר וורדפרס (WordPress), מג’נטו (Magento) ו-ג’ומלה (Joomla)
• אחסון אתרים SEO

באופן כללי, ההבדלים בין חבילות האחסון שלנו מתבטאים בשלושה מאפיינים עיקריים: סוג האתר לו האחסון מיועד, כמות המשאבים והתוספות לשרתים בחבילת האחסון (ואילו תוספים), ובמחירה של כל חבילה.

כן.
Jetserver מציעה ללקוחותיה שירות לקוחות ותמיכה טכנית 24 שעות ביממה, 7 ימים בשבוע, על ידי נציגי תמיכה מנוסים ומוסמכים, בנוסף לתמיכה של צוות DevOps.

כן.
Jetserver היא רשם דומיינים מוסמך על ידי איגוד האינטרנט הישראלי, ומספקת שירותי רישום דומיינים עולמיים וישראליים, בנוסף לחידוש, העברת, ניהול ואבטחת דומיינים.

כחלק מהסכם תנאי השירות (SLA) שלנו, אנחנו מתחייבים לזמינות שרתים של 99.9% לכל הפחות, כלומר, עד 8 שעות השבתה בשנה בלבד (וגם זה יותר מדי).

כן, כן, וכן.

אנחנו מספקים שירותי גיבוי שונים לכל השרתים שלנו. השירותים כוללים גיבויים אוטומטיים וידניים, אחסון על שרתים מרוחקים, שימוש בתוכנת JetBackup, ושירותי התאוששות מאסון.

אנחנו גם מאפשרים שימוש ברשתות CDN באמצעות השותפים שלנו – Cloudflate ו-Sucuri.

כל חבילות אחסון האתרים שלנו כוללות תעודת SSL חינמית, ומאפשרות רכישת תעודת SSL לא חינמית (בתשלום נוסף).

השותפים שלנו

  • js-partners-02
  • js-partners-03
  • nginx-js-partners-04
  • js-partners-06
  • mariadb-icon
  • docker-icon
  • nodejs
Skip to content