From: Simon McVittie <smcv@collabora.com>
To: Casey Schaufler <casey@schaufler-ca.com>
Cc: casey.schaufler@intel.com, jmorris@namei.org,
linux-security-module@vger.kernel.org, selinux@vger.kernel.org,
keescook@chromium.org, john.johansen@canonical.com,
penguin-kernel@i-love.sakura.ne.jp, paul@paul-moore.com,
sds@tycho.nsa.gov
Subject: Re: [PATCH 25/27] NET: Add SO_PEERCONTEXT for multiple LSMs
Date: Mon, 29 Jul 2019 14:00:33 +0100 [thread overview]
Message-ID: <20190729130033.GD2383@horizon> (raw)
In-Reply-To: <20190726233923.2570-26-casey@schaufler-ca.com>
On Fri, 26 Jul 2019 at 16:39:21 -0700, Casey Schaufler wrote:
> A new option SO_PEERCONTEXT is added to report the
> security "context" of multiple modules using a "compound" format
>
> lsm1\0value\0lsm2\0value\0
> + /*
> + * A compound context, in the form lsm='value'[,lsm='value']...
> + */
Presumably the commit message (and the implementation) means the comment
is out of date?
> + /*
> + * Don't propogate trailing nul bytes.
> + */
> + clen = strnlen(cp, clen) + 1;
> + tlen = llen + clen;
...
> + memcpy(tp + finallen + llen, cp, clen);
This assumes that cp points to a '\0'-terminated string, with the '\0'
either inside the span of memory cp[clen]..cp[clen-1], or at cp[clen]
(which is just outside the range that is obviously safe to access).
Is that assumption robust? If an LSM that worked with length-counted
("Pascal") strings internally would be allowed to fill the buffer with
nonzero bytes and not place a '\0' immediately after it, then it would
be necessary to insert the NUL explicitly:
clen = strnlen(cp, clen);
tlen = llen + clen + 1;
...
memcpy(tp + finallen + llen, cp, clen);
tp[finallen + llen + clen] = '\0';
Thanks,
smcv
next prev parent reply other threads:[~2019-07-29 13:00 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-26 23:38 [PATCH v5 00/27] LSM: Module stacking for AppArmor Casey Schaufler
2019-07-26 23:38 ` [PATCH 01/27] LSM: Infrastructure management of the sock security Casey Schaufler
2019-07-26 23:38 ` [PATCH 02/27] LSM: Infrastructure management of the key blob Casey Schaufler
2019-07-26 23:38 ` [PATCH 03/27] LSM: Create and manage the lsmblob data structure Casey Schaufler
2019-07-26 23:39 ` [PATCH 04/27] LSM: Use lsmblob in security_audit_rule_match Casey Schaufler
2019-07-26 23:39 ` [PATCH 05/27] LSM: Use lsmblob in security_kernel_act_as Casey Schaufler
2019-07-26 23:39 ` [PATCH 06/27] net: Prepare UDS for security module stacking Casey Schaufler
2019-07-26 23:39 ` [PATCH 07/27] LSM: Use lsmblob in security_secctx_to_secid Casey Schaufler
2019-07-26 23:39 ` [PATCH 08/27] LSM: Use lsmblob in security_secid_to_secctx Casey Schaufler
2019-07-26 23:39 ` [PATCH 09/27] LSM: Use lsmblob in security_ipc_getsecid Casey Schaufler
2019-07-26 23:39 ` [PATCH 10/27] LSM: Use lsmblob in security_task_getsecid Casey Schaufler
2019-07-26 23:39 ` [PATCH 11/27] LSM: Use lsmblob in security_inode_getsecid Casey Schaufler
2019-07-26 23:39 ` [PATCH 12/27] LSM: Use lsmblob in security_cred_getsecid Casey Schaufler
2019-07-26 23:39 ` [PATCH 13/27] IMA: Change internal interfaces to use lsmblobs Casey Schaufler
2019-07-26 23:39 ` [PATCH 14/27] LSM: Specify which LSM to display Casey Schaufler
2019-07-29 17:05 ` Kees Cook
2019-07-26 23:39 ` [PATCH 15/27] LSM: Ensure the correct LSM context releaser Casey Schaufler
2019-07-26 23:39 ` [PATCH 16/27] LSM: Use lsmcontext in security_secid_to_secctx Casey Schaufler
2019-07-26 23:39 ` [PATCH 17/27] LSM: Use lsmcontext in security_dentry_init_security Casey Schaufler
2019-07-26 23:39 ` [PATCH 18/27] LSM: Use lsmcontext in security_inode_getsecctx Casey Schaufler
2019-07-26 23:39 ` [PATCH 19/27] LSM: security_secid_to_secctx in netlink netfilter Casey Schaufler
2019-07-26 23:39 ` [PATCH 20/27] NET: Store LSM netlabel data in a lsmblob Casey Schaufler
2019-07-26 23:39 ` [PATCH 21/27] SELinux: Verify LSM display sanity in binder Casey Schaufler
2019-07-26 23:39 ` [PATCH 22/27] Audit: Add subj_LSM fields when necessary Casey Schaufler
2019-07-26 23:39 ` [PATCH 23/27] Audit: Include object data for all security modules Casey Schaufler
2019-07-26 23:39 ` [PATCH 24/27] LSM: Provide an user space interface for the default display Casey Schaufler
2019-07-29 17:15 ` Kees Cook
2019-07-26 23:39 ` [PATCH 25/27] NET: Add SO_PEERCONTEXT for multiple LSMs Casey Schaufler
2019-07-29 13:00 ` Simon McVittie [this message]
2019-07-29 15:04 ` Casey Schaufler
2019-07-26 23:39 ` [PATCH 26/27] LSM: Add /proc attr entry for full LSM context Casey Schaufler
2019-07-29 17:19 ` Kees Cook
2019-07-29 19:22 ` Casey Schaufler
2019-07-29 21:40 ` Kees Cook
2019-07-26 23:39 ` [PATCH 27/27] AppArmor: Remove the exclusive flag Casey Schaufler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190729130033.GD2383@horizon \
--to=smcv@collabora.com \
--cc=casey.schaufler@intel.com \
--cc=casey@schaufler-ca.com \
--cc=jmorris@namei.org \
--cc=john.johansen@canonical.com \
--cc=keescook@chromium.org \
--cc=linux-security-module@vger.kernel.org \
--cc=paul@paul-moore.com \
--cc=penguin-kernel@i-love.sakura.ne.jp \
--cc=sds@tycho.nsa.gov \
--cc=selinux@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.