Your message dated Sat, 12 Sep 2026 08:05:41 +0000
with message-id <[email protected]>
and subject line Released in 13.7
has caused the Debian Bug report #1146505,
regarding trixie-pu: package lxc/1:6.0.4-4+deb13u4
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1146505: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1146505
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: trixie
User: [email protected]
Usertags: pu
X-Debbugs-Cc: [email protected], [email protected]
Control: affects -1 + src:lxc

[ Reason ]
Two issues have been found that would be good to get fixed in trixie:

  * Fix a memory cleanup issue that can occasionally cause containers
to fail to start.

  * Adjust apparmor profile generation when nesting is enabled. This is
needed by newer versions of runc (ie, Docker) that have the fix for
CVE-2025-52881 applied. Without it, attempting to start nested
containers within the lxc container will fail. (Reported as bug
#1146472.)

[ Impact ]
LXC in trixie currently suffers from two issues that have been fixed
upstream.

[ Tests ]
None -- the memory fix is trivial, and the apparmor profile update has
been in upstream lxc releases since the 6.0.6 release.

[ Risks ]
Minor/none -- two targeted fixes cherry-picked from the upstream git
repo.

[ Checklist ]
  [*] *all* changes are documented in the d/changelog
  [*] I reviewed all changes and I approve them
  [*] attach debdiff against the package in (old)stable
  [*] the issue is verified as fixed in unstable

[ Changes ]
Two fixes as outlined above.

[ Other info ]
The source debdiff is attached.
diff --git a/debian/changelog b/debian/changelog
index 0557c23..d25b857 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+lxc (1:6.0.4-4+deb13u4) trixie; urgency=medium
+
+  * Cherry-pick fix to properly free libcap-allocated memory
+  * Cherry-pick fix for running nested containers using current versions of
+    runc (ie, Docker) (Closes: #1146472)
+
+ -- Mathias Gibbens <[email protected]>  Wed, 02 Sep 2026 17:20:27 +0000
+
 lxc (1:6.0.4-4+deb13u3) trixie; urgency=medium
 
   * Cherry-pick upstream fix for CVE-2026-39402
diff --git a/debian/patches/0107-cherry-pick-fix-cap_to_text.patch b/debian/patches/0107-cherry-pick-fix-cap_to_text.patch
new file mode 100644
index 0000000..9145fd8
--- /dev/null
+++ b/debian/patches/0107-cherry-pick-fix-cap_to_text.patch
@@ -0,0 +1,31 @@
+From e4e1fa469228db6d54c4945bbcdbd5abe52bb1ca Mon Sep 17 00:00:00 2001
+From: Li Lu <[email protected]>
+Date: Tue, 19 May 2026 15:07:33 +0800
+Subject: [PATCH] lxc/caps: fix cap_to_text() memory cleanup
+
+Signed-off-by: DreamConnected <[email protected]>
+---
+ src/lxc/caps.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/lxc/caps.c b/src/lxc/caps.c
+index 206488ff43..f6c5770ed3 100644
+--- a/src/lxc/caps.c
++++ b/src/lxc/caps.c
+@@ -88,7 +88,7 @@ int lxc_caps_up(void)
+ int lxc_ambient_caps_up(void)
+ {
+ 	call_cleaner(cap_free) cap_t caps = NULL;
+-	__do_free char *cap_names = NULL;
++	char *cap_names = NULL;
+ 	int ret;
+ 	cap_value_t cap;
+ 	cap_value_t last_cap = CAP_LAST_CAP;
+@@ -135,6 +135,7 @@ int lxc_ambient_caps_up(void)
+ 		return log_warn_errno(0, errno, "Failed to convert capabilities %d", cap);
+ 
+ 	TRACE("Raised %s in inheritable and ambient capability set", cap_names);
++	cap_free(cap_names);
+ 	return 0;
+ }
+ 
diff --git a/debian/patches/0108-cherry-pick-runc-nested-containers.patch b/debian/patches/0108-cherry-pick-runc-nested-containers.patch
new file mode 100644
index 0000000..120d412
--- /dev/null
+++ b/debian/patches/0108-cherry-pick-runc-nested-containers.patch
@@ -0,0 +1,69 @@
+From c21296262745c31760d5751fc219d627567a6139 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <[email protected]>
+Date: Thu, 13 Nov 2025 13:25:04 +0100
+Subject: [PATCH] apparmor: skip /proc and /sys restrictions if nesting is
+ enabled
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+If nesting is enabled, it's already possible to mount your own
+instance of both procfs and sysfs inside the container, so protecting
+the "original" ones at /proc and /sys makes no sense, but breaks
+certain nested container setups.
+
+See: https://github.com/lxc/incus/pull/2624/commits/1fbe4bffb9748cc3b07aaf5db310d463c1e827d0
+
+Signed-off-by: Fabian Grünbichler <[email protected]>
+Signed-off-by: Thomas Lamprecht <[email protected]>
+---
+ src/lxc/lsm/apparmor.c | 15 ++++++++++++---
+ 1 file changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/src/lxc/lsm/apparmor.c b/src/lxc/lsm/apparmor.c
+index d6516ae9f5..9f31840ff7 100644
+--- a/src/lxc/lsm/apparmor.c
++++ b/src/lxc/lsm/apparmor.c
+@@ -170,6 +170,9 @@ static const char AA_PROFILE_BASE[] =
+ "  mount options=(rw,move) /s[^y]*{,/**},\n"
+ "  mount options=(rw,move) /sy[^s]*{,/**},\n"
+ "  mount options=(rw,move) /sys?*{,/**},\n"
++"\n";
++
++static const char AA_PROFILE_BASE_NO_NESTING[] =
+ "\n"
+ "  # generated by: lxc-generate-aa-rules.py container-rules.base\n"
+ "  deny /proc/sys/[^kn]*{,/**} wklx,\n"
+@@ -755,6 +758,10 @@ static char *get_apparmor_profile_content(struct lsm_ops *ops, struct lxc_conf *
+ 	must_append_sized(&profile, &size, AA_PROFILE_BASE,
+ 	                  STRARRAYLEN(AA_PROFILE_BASE));
+ 
++	if (!conf->lsm_aa_allow_nesting)
++		must_append_sized(&profile, &size, AA_PROFILE_BASE_NO_NESTING,
++		                  STRARRAYLEN(AA_PROFILE_BASE_NO_NESTING));
++
+ 	append_all_remount_rules(&profile, &size);
+ 
+ 	if (ops->aa_supports_unix)
+@@ -768,8 +775,10 @@ static char *get_apparmor_profile_content(struct lsm_ops *ops, struct lxc_conf *
+ 	if (ops->aa_can_stack && !ops->aa_is_stacked) {
+ 		char *namespace, *temp;
+ 
+-		must_append_sized(&profile, &size, AA_PROFILE_STACKING_BASE,
+-		                  STRARRAYLEN(AA_PROFILE_STACKING_BASE));
++
++		if (!conf->lsm_aa_allow_nesting)
++			must_append_sized(&profile, &size, AA_PROFILE_STACKING_BASE,
++			                  STRARRAYLEN(AA_PROFILE_STACKING_BASE));
+ 
+ 		namespace = apparmor_namespace(conf->name, lxcpath);
+ 		temp = must_concat(NULL, "  change_profile -> \":", namespace, ":*\",\n"
+@@ -779,7 +788,7 @@ static char *get_apparmor_profile_content(struct lsm_ops *ops, struct lxc_conf *
+ 
+ 		must_append_sized(&profile, &size, temp, strlen(temp));
+ 		free(temp);
+-	} else {
++	} else if (!conf->lsm_aa_allow_nesting) {
+ 		must_append_sized(&profile, &size, AA_PROFILE_NO_STACKING,
+ 		                  STRARRAYLEN(AA_PROFILE_NO_STACKING));
+ 	}
diff --git a/debian/patches/series b/debian/patches/series
index 64eeac8..4a76fb0 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -9,3 +9,5 @@
 0104-Add-lxc-net-as-dependency-in-sysvinit-script.patch
 0105-cherry-pick-fix-heavy-io-pts.patch
 0106-cherry-pick-CVE-2026-39402.patch
+0107-cherry-pick-fix-cap_to_text.patch
+0108-cherry-pick-runc-nested-containers.patch

Attachment: signature.asc
Description: This is a digitally signed message part


--- End Message ---
--- Begin Message ---
Version: 13.7

This update was released as part of 13.7.

--- End Message ---

Reply via email to