ืคื’ื™ืขื•ืช ืฉื•ืจืฉ ื‘ืขืจื›ืช ื”ื›ืœื™ื ืœื ื™ื”ื•ืœ ื—ื‘ื™ืœื•ืช Snap

Qualys ื–ื™ื”ืชื” ืคื’ื™ืขื•ืช ืฉืœื™ืฉื™ืช ื—ืžื•ืจื” ื”ืฉื ื” (CVE-2022-3328) ื‘ื›ืœื™ ื”ืขื–ืจ snap-confine, ืฉืžื’ื™ืข ืขื ื“ื’ืœ ื”ืฉื•ืจืฉ ืฉืœ SUID ื•ื ืงืจื ืขืœ ื™ื“ื™ ืชื”ืœื™ืš snapd ื›ื“ื™ ืœื™ืฆื•ืจ ืกื‘ื™ื‘ืช ื”ืคืขืœื” ืขื‘ื•ืจ ื™ื™ืฉื•ืžื™ื ื”ืžื•ืคืฆื™ื ื‘ื—ื‘ื™ืœื•ืช ืขืฆืžืื™ื•ืช. ื‘ืคื•ืจืžื˜ snap. ื”ืคื’ื™ืขื•ืช ืžืืคืฉืจืช ืœืžืฉืชืžืฉ ืžืงื•ืžื™ ืœืœื ื”ืจืฉืื•ืช ืœื”ืฉื™ื’ ื‘ื™ืฆื•ืข ืงื•ื“ ื›ืฉื•ืจืฉ ื‘ืชืฆื•ืจืช ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ืฉืœ ืื•ื‘ื•ื ื˜ื•. ื”ื‘ืขื™ื” ืชื•ืงื ื” ื‘ืžื”ื“ื•ืจืช snapd 2.57.6. ืขื“ื›ื•ื ื™ ื—ื‘ื™ืœื•ืช ืฉื•ื—ืจืจื• ืขื‘ื•ืจ ื›ืœ ื”ืขื ืคื™ื ื”ื ืชืžื›ื™ื ืฉืœ ืื•ื‘ื•ื ื˜ื•.

ืžืขื ื™ื™ืŸ ืœืฆื™ื™ืŸ ืฉื”ื—ื•ืœืฉื” ื”ืžื“ื•ื‘ืจืช ื”ื•ืฆื’ื” ื‘ืชื”ืœื™ืš ืฉืœ ืชื™ืงื•ืŸ ืคื’ื™ืขื•ืช ื“ื•ืžื” ืฉืœ ืคื‘ืจื•ืืจ ื‘-snap-confine. ื”ื—ื•ืงืจื™ื ื”ืฆืœื™ื—ื• ืœื”ื›ื™ืŸ ื ื™ืฆื•ืœ ืขื•ื‘ื“ ื”ืžืกืคืง ื’ื™ืฉืช ืฉื•ืจืฉ ื‘-Ubuntu Server 22.04, ืืฉืจ, ื‘ื ื•ืกืฃ ืœืคื’ื™ืขื•ืช ื”-snap-confine, ื›ืจื•ื›ื” ื’ื ื‘ืฉืชื™ ื ืงื•ื“ื•ืช ืชื•ืจืคื” ื‘ืชื”ืœื™ืš ื”-multipathd (CVE-2022-41974, CVE-2022-41973) ืงืฉื•ืจ ืœืขืงื™ืคืช ื”ืจืฉืื•ืช ื‘ืขืช ื”ืขื‘ืจืช ืคืงื•ื“ื•ืช ืžื•ืจืฉื•ืช ื•ื˜ื™ืคื•ืœ ืœื ื‘ื˜ื•ื— ื‘ืงื™ืฉื•ืจื™ื ืกืžืœื™ื™ื.

ื”ืคื’ื™ืขื•ืช ื‘-snap-confine ื ื’ืจืžืช ืขืœ ื™ื“ื™ ืžืฆื‘ ื’ื–ืข ื‘ืคื•ื ืงืฆื™ื” must_mkdir_and_open_with_perms(), ืฉื ื•ืกืคื” ื›ื“ื™ ืœื”ื’ืŸ ืžืคื ื™ ื”ื—ืœืคื” ืฉืœ ื”ืกืคืจื™ื™ื” /tmp/snap.$SNAP_NAME ื‘ืงื™ืฉื•ืจ ืกืžืœื™ ืœืื—ืจ ื‘ื“ื™ืงืช ื”ื‘ืขืœื™ื, ืืš ืœืคื ื™ ืงืจื™ืืช ืžืขืจื›ืช ื”-mount ื ืงืจื ืœ-bind-mount ืœืชื•ื›ื• ืขื‘ื•ืจ ื—ื‘ื™ืœื” ื‘ืคื•ืจืžื˜ snap. ื”ืื‘ื˜ื—ื” ืฉื ื•ืกืคื” ื”ื™ื™ืชื” ืœืฉื ื•ืช ืืช ืฉื ื”ืกืคืจื™ื™ื” /tmp/snap.$SNAP_NAME ืœืกืคืจื™ื™ื” ืื—ืจืช ื‘-/tmp ืขื ืฉื ืืงืจืื™ ืื ื”ื™ื ืงื™ื™ืžืช ื•ืื™ื ื” ื‘ื‘ืขืœื•ืช ืžืฉืชืžืฉ ื”ืฉื•ืจืฉ.

ื‘ืขืช ื ื™ืฆื•ืœ ืคืขื•ืœืช ืฉื™ื ื•ื™ ืฉื ื”ืกืคืจื™ื™ื” /tmp/snap.$SNAP_NAME, ื”ื—ื•ืงืจื™ื ื ื™ืฆืœื• ืืช ื”ืขื•ื‘ื“ื” ืฉ-snap-confine ื™ื•ืฆืจ ื’ื ืกืคืจื™ื™ืช /tmp/snap.rootfs_XXXXXX ืขื‘ื•ืจ ืฉื•ืจืฉ ื”ืชื•ื›ืŸ ืฉืœ ื—ื‘ื™ืœืช ื”-Snap. ื”ื—ืœืง "XXXXXX" ืฉืœ ื”ืฉื ื ื‘ื—ืจ ื‘ืืงืจืื™ ืขืœ ื™ื“ื™ mkdtemp(), ืืš ื—ื‘ื™ืœื” ื‘ืฉื "rootfs_XXXXXX" ื™ื›ื•ืœื” ืœื”ืขื‘ื™ืจ ืืช sc_instance_name_validate (ื›ืœื•ืžืจ, ื”ืจืขื™ื•ืŸ ื”ื•ื ืฉ-$SNAP_NAME ืžื•ื’ื“ืจ ืœ-"rootfs_XXXXXX" ื•ืื– ืคืขื•ืœืช ืฉื™ื ื•ื™ ื”ืฉื ืชื’ืจื•ื ืœื”ื—ืœืคื” ืกืคืจื™ื™ืช /tmp/snap.rootfs_XXXXXX ืขื ืฉื•ืจืฉ ื”ืฆืžื“).

ืขืœ ืžื ืช ืœื”ืฉื™ื’ ืฉื™ืžื•ืฉ ื‘ื•-ื–ืžื ื™ ื‘-/tmp/snap.rootfs_XXXXXX ื•ืฉื™ื ื•ื™ ืฉื /tmp/snap.$SNAP_NAME, ื”ื•ื—ืœื• ืฉื ื™ ืžื•ืคืขื™ื ืฉืœ snap-confine. ื‘ืจื’ืข ืฉื”ืžื•ืคืข ื”ืจืืฉื•ืŸ ื™ืฆืจ ืืช /tmp/snap.rootfs_XXXXXX, ื”ืชื”ืœื™ืš ื™ื—ืกื•ื ื•ืžื•ืคืข ืฉื ื™ ืขื ืฉื ื”ื—ื‘ื™ืœื” rootfs_XXXXXX ื™ืชื—ื™ืœ, ืžื” ืฉื™ื’ืจื•ื ืœืกืคืจื™ื™ื” ื”ื–ืžื ื™ืช ืฉืœ ื”ืžื•ืคืข ื”ืฉื ื™ /tmp/snap.$SNAP_NAME ืœื”ืคื•ืš ืœ- /tmp/snap โ€Ž.rootfs_XXXXXX ืกืคืจื™ื™ืช ื”ืฉื•ืจืฉ ืฉืœ ื”ืžื•ืคืข ื”ืจืืฉื•ืŸ. ืžื™ื“ ืœืื—ืจ ื‘ื™ืฆื•ืข ืฉื™ื ื•ื™ ื”ืฉื, ื”ืžื•ืคืข ื”ืฉื ื™ ืงืจืก, ื•-/tmp/snap.rootfs_XXXXXX ื”ื•ื—ืœืฃ ื‘ืžื ื™ืคื•ืœืฆื™ื” ืฉืœ ืชื ืื™ ื”ื’ื–ืข, ื›ืžื• ื‘ื ื™ืฆื•ืœ ื”ืคื’ื™ืขื•ืช ืฉืœ ืคื‘ืจื•ืืจ. ืœืื—ืจ ื”ืฉื™ื ื•ื™, ื ืขื™ืœืช ื”ื‘ื™ืฆื•ืข ื”ื•ืกืจื” ืžื”ืžื•ืคืข ื”ืจืืฉื•ืŸ ื•ื”ืชื•ืงืคื™ื ื”ืฉื™ื’ื• ืฉืœื™ื˜ื” ืžืœืื” ืขืœ ืกืคืจื™ื™ืช ืฉื•ืจืฉ ื”-Snap.

ื”ืฉืœื‘ ื”ืื—ืจื•ืŸ ื”ื™ื” ื™ืฆื™ืจืช ืงื™ืฉื•ืจ ืกื™ืžืœื™ /tmp/snap.rootfs_XXXXXX/tmp ืืฉืจ ืฉื™ืžืฉ ืืช ื”ืคื•ื ืงืฆื™ื” sc_bootstrap_mount_namespace() ืœ-bind-mount ืืช ื”ืกืคืจื™ื™ื” ื”ืืžื™ืชื™ืช ื”ื ื™ืชื ืช ืœื›ืชื™ื‘ื” /tmp ืœื›ืœ ืกืคืจื™ื™ื” ื‘ืžืขืจื›ืช ื”ืงื‘ืฆื™ื, ืฉื›ืŸ ื”ืงืจื™ืื” mount() ื‘ืื” ืื—ืจื™ื” ืกื™ืžืœื™ื ืงื™ื ืœืคื ื™ ื”ื”ืจื›ื‘ื”. ื”ืจื›ื‘ื” ื›ื–ื• ื ื—ืกืžืช ืขืœ ื™ื“ื™ ื”ื’ื‘ืœื•ืช AppArmor, ืืš ื›ื“ื™ ืœืขืงื•ืฃ ื—ืกื™ืžื” ื–ื•, ืฉื ื™ ืคื’ื™ืขื•ื™ื•ืช ืขื–ืจ ื”ืžื ื•ืฆืœื•ืช ื‘-multipathd.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”