[Pkg-shadow-devel] Bug#1132509: Bug#1132509: uidmap: getsubids look up /etc/subgid by gid instead of uid when using numerical values

Serge E. Hallyn serge at hallyn.com
Wed Apr 1 22:16:28 BST 2026


On Wed, Apr 01, 2026 at 10:40:01PM +0200, Aurelien Jarno wrote:
> Package: uidmap
> Version: 1:4.18.0-2
> Severity: important
> Tags: patch
> X-Debbugs-Cc: dsa at debian.org, wb-team at buildd.debian.org, sbuild at packages.debian.org
> Control: affects -1 sbuild
> 
> Hi,
> 
> Since version 0.91.6, sbuild started to use getsubids to parse
> /etc/subgid [1]. The format of this file is supposed to be [2]:
> 
>   login name or UID : numerical subordinate group ID : numerical subordinate group ID count
> 
> Unfortunately getsubids parses it as login name or *GID*. This breaks
> when this file contains UID and when UID != GID:
> 
> $ id buildd
> uid=2952(buildd) gid=1009(buildd) groupes=1009(buildd),115(sbuild)
> $ grep 2952 /etc/subgid 
> 2952:193462272:65536
> $ getsubids -g buildd
> Error fetching ranges
> 
> Fortunately it seems that newgidmap parses the file correctly, so this
> is not a security issue.
> 
> The following untested patch should fix the issue (which means that
> get_owner_id() can be simplified as this is the only caller:
> 

Indeed, thanks for the patch and catching that.

Reviewed-by: Serge Hallyn <serge at hallyn.com>

Not sure what the flow from here is.  Would you mind sending a
patch to upstream at https://github.com/shadow-maint/shadow,
or, if you prefer not to, should I forward it?

I can see about preparing a shadow package for debian with this fix
and having Chris sponsor it, unless (my preference) he wants to
prepare it himself.

thanks,
-serge

> --- shadow-4.19.3.orig/lib/subordinateio.c
> +++ shadow-4.19.3/lib/subordinateio.c
> @@ -908,7 +908,7 @@ int list_owner_ranges(const char *owner,
>  		return -1;
>  	}
>  
> -	have_owner_id = get_owner_id(owner, id_type, id);
> +	have_owner_id = get_owner_id(owner, ID_TYPE_UID, id);
>  
>  	commonio_rewind(db);
>  	while (NULL != (range = commonio_next(db))) {
> 
> Regards
> Aurelien
> 
> [1] https://salsa.debian.org/debian/sbuild/-/commit/590c06cd5a76b6758606cc30fea075816edda468
> [2] https://manpages.debian.org/unstable/passwd/subgid.5.en.html
> 
> _______________________________________________
> Pkg-shadow-devel mailing list
> Pkg-shadow-devel at alioth-lists.debian.net
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-shadow-devel



More information about the Pkg-shadow-devel mailing list