Qualys áááş áááŻáážá áşáá˝ááş snap-confine utility áá˝ááş ááááááźáąáŹááş áĄááąá¸ááźáŽá¸ááąáŹ áĄáŹá¸áááşá¸ááťááş (CVE-2022-3328) ááᯠááąáŹáşááŻááşáá˛áˇááźáŽá¸á áááşá¸áá˝ááş SUID root flag áážááˇáşáĄáá° ááŤáážáááźáŽá¸ snapd process ááž ááąáŤáşáá°áᏠself-contained snap packages ááťáŹá¸áá˝ááş ááźááˇáşááąááŹá¸ááąáŹ application ááťáŹá¸áĄáá˝ááş executable environment áá áşáᯠáááşááŽá¸ááąá¸ááŤáááşá á¤áĄáŹá¸áááşá¸ááťááşáááş local, privileged user áá áşáŚá¸ááᯠconfiguration áĄáá˝ááşá¸áážá root privileges ááťáŹá¸ááźááˇáş code ááᯠexecute ááŻááşáá˝ááˇáşááźáŻáááşá Ubuntu áá°áááşá¸áĄáŹá¸ááźááˇáşá ááźáżááŹááᯠsnapd 2.57.6 áá˝ááş ááźááşáááşááźáŽá¸ááŤááźáŽá ááśáˇáááŻá¸ááąá¸ááŹá¸ááąáŹ branch áĄáŹá¸ááŻáśá¸áĄáá˝ááş package update ááťáŹá¸ááᯠááŻááşááźááşáááŻááşááŤááźáŽá Ubuntu.
á áááşáááşá áŹá¸á ááŹááąáŹááşá¸ááŹá ááŽáĄáŹá¸áááşá¸ááťááşáᏠááąááąáŹáşááŤááŽáá áĄááŹá¸áá°áĄáŹá¸áááşá¸ááťááşáá áşááŻááᯠsnap-confine áážáŹ ááźááşáááşááąá ááşáážáŹ ááąáŤáşááŹáá˛áˇááŹááŤá ááŻááąááŽáá˝áąáᏠroot access ááąá¸á á˝ááşá¸áááŻááşáá˛áˇ exploit áá áşááŻááᯠááźááşáááşáááŻááşáá˛áˇááŤáááşá Ubuntu Server 22.04 áá˝ááş snap-confine áĄáŹá¸áááşá¸ááťááşáĄááźááş multipathd ááŻááşáááşá¸á ááşáá˝ááş áĄáŹá¸áááşá¸ááťááşáážá áşáᯠ(CVE-2022-41974á CVE-2022-41973) ááŤáááşááźáŽá¸ privileged command ááťáŹá¸ááᯠááźááşáááşá¸áááˇáşáĄá፠permission check ááťáŹá¸ááᯠááťáąáŹáşááźááşááźááşá¸áážááˇáş symbolic link ááťáŹá¸ááᯠáááŻáśááźáŻáśá á˝áŹ áááŻááşáá˝ááşááźááşá¸áááŻáˇ ááŤáááşááŤáááşá
Snap-confine áá˝ááş áĄáŹá¸áááşá¸ááťááşáááş /tmp/snap.$SNAP_NAME áááşá¸áá˝ážááşááᯠáááŻááşáážááşáááŻá á áşááąá¸ááźáŽá¸ááąáŹááş áááşášááąááááˇáşááşááźááˇáş áĄá áŹá¸áááŻá¸ááźááşá¸ááž ááŹáá˝ááşáááşáĄáá˝ááş must_mkdir_and_open_with_perms() ááŻááşááąáŹááşááťááşáážá ááźááŻááşáááŻááşáážáŻáĄááźáąáĄááąááźáąáŹááˇáş ááźá áşááąáŤáşááŹáááşá áááŻáˇááąáŹáş mount system ááᯠáááąáŤáşáááŻááŽá snap format ááźááˇáş package áá áşááŻáĄáá˝ááş bind-mount directory ááťáŹá¸ááᯠáááşá¸áá˝ááş ááąáŤáşáááŻááŤá áááşááąáŹááşá¸ááŹáá˝ááşáážáŻáááş /tmp/snap.$SNAP_NAME áááşá¸áá˝ážááşááᯠ/tmp áá˝ááşáážáááźáŽá¸á root ááááŻááşáááŻááşááŤá ááťáááşá¸áĄáááşááźááˇáş áĄááźáŹá¸áááşá¸áá˝ážááşáá áşááŻáááŻáˇ áĄáááşááźáąáŹááşá¸áááşááźá áşáááşá
/tmp/snap.$SNAP_NAME áááşá¸áá˝ážááşáĄáááşááźáąáŹááşá¸ááźááşá¸ ááŻááşááąáŹááşááťááşááᯠáĄááŻáśá¸ááťáááˇáşáĄááŤá ááŻááąááŽááťáŹá¸áááş snap-confine áááş snap package ááĄááźáąáŹááşá¸áĄááŹááťáŹá¸á root áĄáá˝ááş /tmp/snap.rootfs_XXXXXX áááşá¸áá˝ážááşáá áşááŻááᯠáááşááŽá¸ááąá¸áááşáá°ááąáŹáĄááťááşááᯠááŻááąááŽááťáŹá¸á áĄáá˝ááˇáşááąáŹááşá¸áá°áá˛áˇáááşá áĄáááşá "XXXXXX" áĄáááŻááşá¸ááᯠmkdtemp() ááźááˇáş ááťáááşá¸áá˝áąá¸ááťááşááŹá¸ááąáŹáşáááşá¸ "rootfs_XXXXXX" áĄáááşáážá áááşááąáˇááťáşáá áşááŻááᯠsc_instance_name_validate ááŻááşááąáŹááşááťááşáá˝ááş áĄáááşááźáŻáááŻááşáááş (áááŻáááŻáááşáážáŹ áĄáá°áĄááážáŹ $SNAP_NAME ááᯠ"rootfs_XXXXXX" áᯠáááşáážááşááźáŽá¸ááąáŹááş áĄáááşááźáąáŹááşá¸ááźááşá¸ ááŻááşááąáŹááşááťááş root snap ááźááˇáş /tmp/snap.rootfs_XXXXXX directory ááᯠoverwrite ááŻááşáááş ááááş áá˝ááşááąáŤáşááŹááááˇáşáááşá
/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 root directory ááᯠáĄááźááˇáşáĄá ááááşá¸ááťáŻááşáááŻááşáá˛áˇáááşá
ááąáŹááşááŻáśá¸áĄáááˇáşáážáŹ mount() ááŻááąáŤáşáááŻááąáŹááźáąáŹááˇáşá mount() ááąáŤáşáááŻáážáŻááźáąáŹááˇáş áááŻááşá
áá
áşáážá áááşáááˇáşáááşá¸áá˝ážááşáááŻáááᯠááťáááşáááşáááş ááąáŹááşááŻáśá¸áĄáááˇáşáážáŹ symlink /tmp/snap.rootfs_XXXXXX/tmp ááᯠáááşááŽá¸áááş sc_bootstrap_mount_namespace() ááŻááşááąáŹááşááťááşááž áĄááŻáśá¸ááźáŻáá˛áˇáááşá ááááşáááşáᎠsymlinks ááťáŹá¸ááᯠáááŻááşááŹááŤá áááŻáááŻáˇááąáŹ áááşáááşááźááşá¸ááᯠAppArmor áááˇáşáááşááťááşááťáŹá¸ááźááˇáş ááááşáááŻáˇááŹá¸ááąáŹáşáááşá¸ á¤ááááşáááŻáˇááźááşá¸ááᯠááťáąáŹáşáá˝ážáŹá¸áááşáĄáá˝ááş exploit áááş multipathd áá˝ááş áĄáááşáĄáŹá¸áááşá¸ááťááşáážá
áşááŻááᯠáĄááŻáśá¸ááźáŻáá˛áˇáááşá
source: opennet.ru
