เจธเจจเฉˆเจช เจชเฉˆเจ•เฉ‡เจœ เจชเฉเจฐเจฌเฉฐเจงเจจ เจŸเฉ‚เจฒเจ•เจฟเฉฑเจŸ เจตเจฟเฉฑเจš เจฐเฉ‚เจŸ เจ•เจฎเจœเจผเฉ‹เจฐเฉ€

เจ•เฉเจ†เจฒเจฟเจธ เจจเฉ‡ เจธเจจเฉˆเจช-เจธเฉ€เจฎเจค เจธเจนเฉ‚เจฒเจค เจตเจฟเฉฑเจš เจ‡เจธ เจธเจพเจฒ เจ‡เฉฑเจ• เจคเฉ€เจœเฉ€ เจ—เฉฐเจญเฉ€เจฐ เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ (CVE-2022-3328) เจฆเฉ€ เจชเจ›เจพเจฃ เจ•เฉ€เจคเฉ€ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ SUID เจฐเฉ‚เจŸ เจซเจฒเฉˆเจ— เจฆเฉ‡ เจจเจพเจฒ เจ†เจ‰เจ‚เจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจธเจตเฉˆ-เจจเจฟเจฐเจญเจฐ เจชเฉˆเจ•เฉ‡เจœเจพเจ‚ เจตเจฟเฉฑเจš เจตเฉฐเจกเฉ€เจ†เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฒเจˆ เจ‡เฉฑเจ• เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจŸเฉ‡เจฌเจฒ เจตเจพเจคเจพเจตเจฐเจฃ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ snapd เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฆเฉเจ†เจฐเจพ เจฌเฉเจฒเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจธเจจเฉˆเจช เจซเจพเจฐเจฎเฉˆเจŸ เจตเจฟเฉฑเจš. เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ เจ‡เฉฑเจ• เจธเจฅเจพเจจเจ• เจ—เฉˆเจฐ-เจ…เจงเจฟเจ•เจพเจฐเจค เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจกเจฟเจซเฉŒเจฒเจŸ เจ‰เจฌเฉฐเจŸเฉ‚ เจธเฉฐเจฐเจšเจจเจพ เจตเจฟเฉฑเจš เจฐเฉ‚เจŸ เจตเจœเฉ‹เจ‚ เจ•เฉ‹เจก เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆเฅค 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() เจ•เจพเจฒ เจ…เฉฑเจ—เฉ‡ เจ†เจ‰เจ‚เจฆเฉ€ เจนเฉˆเฅค เจฎเจพเจŠเจ‚เจŸ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจธเจฟเจฎเจฒเจฟเฉฐเจ•เจธเฅค เจ…เจœเจฟเจนเฉ€ เจฎเจพเจŠเจ‚เจŸเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจเจชเจ†เจฐเจฎเจฐ เจชเจพเจฌเฉฐเจฆเฉ€เจ†เจ‚ เจฆเฉเจ†เจฐเจพ เจฌเจฒเฉŒเจ• เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจชเจฐ เจ‡เจธ เจฌเจฒเฉŒเจ•เจฟเฉฐเจ— เจจเฉ‚เฉฐ เจฌเจพเจˆเจชเจพเจธ เจ•เจฐเจจ เจฒเจˆ, เจธเจผเฉ‹เจธเจผเจฃ เจจเฉ‡ เจฎเจฒเจŸเฉ€เจชเจพเจฅเจก เจตเจฟเฉฑเจš เจฆเฉ‹ เจธเจนเจพเจ‡เจ• เจ•เจฎเจœเจผเฉ‹เจฐเฉ€เจ†เจ‚ เจฆเจพ เจธเจผเฉ‹เจธเจผเจฃ เจ•เฉ€เจคเจพเฅค

เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹