рд╕реНрдиреЕрдк рдкреЕрдХреЗрдЬ рдореЕрдиреЗрдЬрдореЗрдВрдЯ рдЯреВрд▓рдХрд┐рдЯрдордзреНрдпреЗ рд░реВрдЯ рдЕрд╕реБрд░рдХреНрд╖рд╛

рдХреНрд╡рд╛рд▓рд┐рд╕рдиреЗ рдпрд╛ рд╡рд░реНрд╖реА рд╕реНрдиреЕрдк-рдХрдВрдлрд╛рдЗрди рдпреБрдЯрд┐рд▓рд┐рдЯреАрдордзреНрдпреЗ рддрд┐рд╕рд░реА рдЧрдВрднреАрд░ рднреЗрджреНрдпрддрд╛ рдУрд│рдЦрд▓реА рдЖрд╣реЗ (CVE-2022-3328), рдЬреА SUID рд░реВрдЯ рдлреНрд▓реЕрдЧрд╕рд╣ рдпреЗрддреЗ рдЖрдгрд┐ рд╕реНрд╡рдпрдВ-рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдкреЕрдХреЗрдЬреЗрд╕рдордзреНрдпреЗ рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрд╕рд╛рдареА рдПрдХ рдПрдХреНрдЭрд┐рдХреНрдпреВрдЯреЗрдмрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реНрдиреЕрдкрдбреА рдкреНрд░рдХреНрд░рд┐рдпреЗрджреНрд╡рд╛рд░реЗ рдХреЙрд▓ рдХреЗрд▓реА рдЬрд╛рддреЗ. рд╕реНрдиреЕрдк рд╕реНрд╡рд░реВрдкрд╛рдд. рднреЗрджреНрдпрддрд╛ рд╕реНрдерд╛рдирд┐рдХ рдЕрдирдкреНрд░рд┐рд╡реНрд╣рд┐рд▓реЗрдЬреНрдб рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд▓рд╛ рдбреАрдлреЙрд▓реНрдЯ рдЙрдмрдВрдЯреВ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдордзреНрдпреЗ рд░реВрдЯ рдореНрд╣рдгреВрди рдХреЛрдбрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. snapd 2.57.6 рдЪреНрдпрд╛ рд░рд┐рд▓реАрдЭрдордзреНрдпреЗ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╢реНрдЪрд┐рдд рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ. рдЙрдмрдВрдЯреВрдЪреНрдпрд╛ рд╕рд░реНрд╡ рд╕рдорд░реНрдерд┐рдд рд╢рд╛рдЦрд╛рдВрд╕рд╛рдареА рдкреЕрдХреЗрдЬ рдЕрджреНрдпрддрдиреЗ рдЬрд╛рд░реА рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗрдд.

рд╡рд┐рд╢реЗрд╖ рдореНрд╣рдгрдЬреЗ, рд╕реНрдиреЕрдк-рдХрдВрдлрд╛рдЗрдирдордзреНрдпреЗ рдлреЗрдмреНрд░реБрд╡рд╛рд░реАрдЪреНрдпрд╛ рд╕рдорд╛рди рдЕрд╕реБрд░рдХреНрд╖рд╛ рдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрдд рдкреНрд░рд╢реНрдирд╛рддреАрд▓ рднреЗрджреНрдпрддрд╛ рд╕рд╛рджрд░ рдХрд░рдгреНрдпрд╛рдд рдЖрд▓реА. рд╕рдВрд╢реЛрдзрдХ рдЙрдмрдВрдЯреВ рд╕рд░реНрд╡реНрд╣рд░ 22.04 рдордзреНрдпреЗ рд░реВрдЯ рдНрдХреНрд╕реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рдгрд╛рд░реЗ рдПрдХ рдХрд╛рд░реНрдпрд░рдд рд╢реЛрд╖рдг рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдд рд╕рдХреНрд╖рдо рд╣реЛрддреЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рд╕реНрдиреЕрдк-рдХрдВрдлрд╛рдЗрди рдЕрд╕реБрд░рдХреНрд╖рд╛ рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдорд▓реНрдЯреАрдкрд╛рде рдкреНрд░рдХреНрд░рд┐рдпреЗрддреАрд▓ рджреЛрди рднреЗрджреНрдпрддрд╛ рджреЗрдЦреАрд▓ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗрдд (CVE-2022-41974, CVE-2022-41973) рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрдорд╛рдВрдб рдкрд╛рд╕ рдХрд░рддрд╛рдирд╛ рдкрд░рд╡рд╛рдирдЧреНрдпрд╛ рдЪреЗрдХ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдгреЗ рдЖрдгрд┐ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдВрдХреНрд╕рдЪреНрдпрд╛ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣рд╛рддрд╛рд│рдгреАрд╢реА рд╕рдВрдмрдВрдзрд┐рдд.

snap-confine рдордзреАрд▓ рднреЗрджреНрдпрддрд╛ must_mkdir_and_open_with_perms() рдлрдВрдХреНрд╢рдирдордзреАрд▓ рд░реЗрд╕ рдХрдВрдбрд┐рд╢рдирдореБрд│реЗ рд╣реЛрддреЗ, рдЬреЗ /tmp/snap рдЪреНрдпрд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрдирд╛рдкрд╛рд╕реВрди рд╕рдВрд░рдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЬреЛрдбрд▓реЗ рдЬрд╛рддреЗ. $SNAP_NAME рдбрд┐рд░реЗрдХреНрдЯрд░реА рдорд╛рд▓рдХрд╛рдЪреНрдпрд╛ рддрдкрд╛рд╕рдгреАрдирдВрддрд░ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдВрдХрд╕рд╣, рдкрд░рдВрддреБ рдорд╛рдЙрдВрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА рд╕реНрдиреЕрдк рдлреЙрд░рдореЕрдЯрдордзреНтАНрдпреЗ рдкреЕрдХреЗрдЬрд╕рд╛рдареА рддреНтАНрдпрд╛рдордзреНтАНрдпреЗ рдмрд╛рдЗрдВрдб-рдорд╛рдЙрдВрдЯ рдбрд┐рд░реЗрдХреНтАНрдЯрд░реАрдЬ рдмреЛрд▓рд╛рд╡рд▓реЗ рдЬрд╛рддреЗ. рдЬреЛрдбрд▓реЗрд▓реА рд╕реБрд░рдХреНрд╖рд╛ /tmp/snap.$SNAP_NAME рдбрд┐рд░реЗрдХреНрдЯрд░реА рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдЕрд╕рд▓реНрдпрд╛рд╕ рдЖрдгрд┐ рд░реВрдЯ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рдорд╛рд▓рдХреАрдЪреА рдирд╕рд▓реНрдпрд╛рд╕ /tmp рдордзреАрд▓ рдЕрдиреНрдп рдбрд┐рд░реЗрдХреНрдЯрд░реАрдордзреНрдпреЗ рдкреБрдирд░реНрдирд╛рдорд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

/tmp/snap.$SNAP_NAME рдбрд┐рд░реЗрдХреНрдЯреНрд░реАрдЪреЗ рдирд╛рд╡ рдмрджрд▓рдгреНрдпрд╛рдЪреНрдпрд╛ рдСрдкрд░реЗрд╢рдирдЪреЗ рд╢реЛрд╖рдг рдХрд░рддрд╛рдирд╛, рд╕рдВрд╢реЛрдзрдХрд╛рдВрдиреА рдпрд╛ рд╡рд╕реНрддреБрд╕реНрдерд┐рддреАрдЪрд╛ рдлрд╛рдпрджрд╛ рдШреЗрддрд▓рд╛ рдХреА snap-confine рд╕реНрдиреЕрдк рдкреЕрдХреЗрдЬрдЪреНрдпрд╛ рд╕рд╛рдордЧреНрд░реАрдЪреНрдпрд╛ рд░реВрдЯрд╕рд╛рдареА /tmp/snap.rootfs_XXXXXX рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рджреЗрдЦреАрд▓ рддрдпрд╛рд░ рдХрд░рддреЗ. рдирд╛рд╡рд╛рдЪрд╛ "XXXXXX" рднрд╛рдЧ mkdtemp() рджреНрд╡рд╛рд░реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХрдкрдгреЗ рдирд┐рд╡рдбрд▓рд╛ рдЬрд╛рддреЛ, рдкрд░рдВрддреБ "rootfs_XXXXXX" рдирд╛рд╡рд╛рдЪреЗ рдкреЕрдХреЗрдЬ sc_instance_name_validate рдкрд╛рд╕ рдХрд░реВ рд╢рдХрддреЗ (рдореНрд╣рдгрдЬреЗ $SNAP_NAME рд▓рд╛ "rootfs_XXXXXX" рд╡рд░ рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдХрд▓реНрдкрдирд╛ рдЖрд╣реЗ рдЖрдгрд┐ рдирдВрддрд░ рдирд╛рд╡ рдмрджрд▓рдгреНрдпрд╛рдЪреНрдпрд╛ рдСрдкрд░реЗрд╢рдирдореБрд│реЗ рдУрд╡реНрд╣рд░рд░рд╛рдЗрдЯрд┐рдВрдЧ рд╣реЛрдИрд▓. рд╕реНрдиреЕрдк рд░реВрдЯрд╕рд╣ /tmp/snap.rootfs_XXXXXX рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛).

/tmp/snap.rootfs_XXXXXX рдЪрд╛ рдПрдХрд╛рдЪрд╡реЗрд│реА рд╡рд╛рдкрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ /tmp/snap.$SNAP_NAME рдЪреЗ рдирд╛рд╡ рдмрджрд▓рдгреНрдпрд╛рд╕рд╛рдареА, рд╕реНрдиреЕрдк-рдХрдВрдлрд╛рдЗрдирдЪреНрдпрд╛ рджреЛрди рдШрдЯрдирд╛ рд╕реБрд░реВ рдХреЗрд▓реНрдпрд╛ рд╣реЛрддреНрдпрд╛. рдкрд╣рд┐рд▓реНрдпрд╛ рдкреНрд░рд╕рдВрдЧрд╛рдиреЗ /tmp/snap.rootfs_XXXXXX рддрдпрд╛рд░ рдХрд░рддрд╛рдЪ, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрд╡рд░реЛрдзрд┐рдд рдХреЗрд▓реА рдЬрд╛рдИрд▓ рдЖрдгрд┐ rootfs_XXXXXX рдкреЕрдХреЗрдЬ рдирд╛рд╡рд╛рдЪреА рджреБрд╕рд░реА рдШрдЯрдирд╛ рд╕реБрд░реВ рд╣реЛрдИрд▓, рдЬреНрдпрд╛рдореБрд│реЗ рджреБрд╕рд▒реНрдпрд╛ рдкреНрд░рд╕рдВрдЧрд╛рдЪреА рддрд╛рддреНрдкреБрд░рддреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ /tmp/snap.$SNAP_NAME /tmp/snap рд╣реЛрдИрд▓. рдкрд╣рд┐рд▓реНрдпрд╛ рдШрдЯрдиреЗрдЪреА .rootfs_XXXXXX рд░реВрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛. рдирд╛рд╡ рдмрджрд▓рд▓реНрдпрд╛рдирдВрддрд░ рд▓рдЧреЗрдЪрдЪ, рджреБрд╕рд░реА рдШрдЯрдирд╛ рдХреНрд░реЕрд╢ рдЭрд╛рд▓реА рдЖрдгрд┐ /tmp/snap.rootfs_XXXXXX рд╣реЗ рд░реЗрд╕ рдХрдВрдбрд┐рд╢рди рдореЕрдирд┐рдкреБрд▓реЗрд╢рдирдиреЗ рдмрджрд▓рд▓реЗ рдЧреЗрд▓реЗ, рдЬрд╕реЗ рдХреА рдлреЗрдмреНрд░реБрд╡рд╛рд░реАрдЪреНрдпрд╛ рдЕрд╕реБрд░рдХреНрд╖рд┐рддрддреЗрдЪреНрдпрд╛ рд╢реЛрд╖рдгрд╛рдд. рдмрджрд▓рд╛рдирдВрддрд░, рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд▓реЙрдХ рдкрд╣рд┐рд▓реНрдпрд╛ рдкреНрд░рд╕рдВрдЧрд╛рддреВрди рдХрд╛рдврд▓рд╛ рдЧреЗрд▓рд╛ рдЖрдгрд┐ рдЖрдХреНрд░рдордгрдХрд░реНрддреНрдпрд╛рдВрдиреА рд╕реНрдиреЕрдк рд░реВрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрд╡рд░ рдкреВрд░реНрдг рдирд┐рдпрдВрддреНрд░рдг рдорд┐рд│рд╡рд▓реЗ.

рд╢реЗрд╡рдЯрдЪреА рдкрд╛рдпрд░реА рдореНрд╣рдгрдЬреЗ symlink /tmp/snap.rootfs_XXXXXX/tmp рддрдпрд╛рд░ рдХрд░рдгреЗ рдЬреЗ sc_bootstrap_mount_namespace() рдлрдВрдХреНрд╢рдирджреНрд╡рд╛рд░реЗ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдордордзреАрд▓ рдХреЛрдгрддреНрдпрд╛рд╣реА рдбрд┐рд░реЗрдХреНрдЯреНрд░реАрдордзреНрдпреЗ рд░рд╛рдЗрдЯреЗрдмрд▓ рд░рд┐рдЕрд▓ рдбрд┐рд░реЗрдХреНрдЯрд░реА /tmp рдмрд╛рдЗрдВрдб-рдорд╛рдЙрдВрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ, рдХрд╛рд░рдг mount() рдХреЙрд▓ рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рдЖрд╣реЗ. рдЖрд░реЛрд╣рд┐рдд рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА symlinks. рдЕрд╕реЗ рдорд╛рдЙрдВрдЯрд┐рдВрдЧ AppArmor рдирд┐рд░реНрдмрдВрдзрд╛рдВрджреНрд╡рд╛рд░реЗ рдЕрд╡рд░реЛрдзрд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ, рдкрд░рдВрддреБ рд╣реЗ рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдгреЗ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рд╢реЛрд╖рдгрд╛рдиреЗ рдорд▓реНрдЯреАрдкрд╛рдердордзреНрдпреЗ рджреЛрди рд╕рд╣рд╛рдпрдХ рдЕрд╕реБрд░рдХреНрд╖рд╛ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЖрд╣реЗрдд.

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛