This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] ld.so: Reject overly long LD_PRELOAD path elements


On 06/19/2017 10:00 PM, Carlos O'Donell wrote:
> /* For SUID binaries, all glibc ports have limits, even though we want
>    to avoid limits in the GNU operating system.
>    For those operating systems that do not define such limits, we
>    define them to an arbitrary but small value.  The GNU/Hurd includes 
>    no such limits, but we define them for now as a security heuristic for
>    SUID binaries.  */
> #ifndef NAME_MAX
> #define NAME_MAX 4096
> #endif

We use 1024 for PATH_MAX in various places inside glibc already, so I'm
going to stick with that.  NAME_MAX should be 255, I think.  This is
what I'm going to check in:

/* Length limits for names and paths, to protect the dynamic linker,
   particularly when __libc_enable_secure is active.  */
#ifdef NAME_MAX
# define SECURE_NAME_LIMIT NAME_MAX
#else
# define SECURE_NAME_LIMIT 255
#endif
#ifdef PATH_MAX
# define SECURE_PATH_LIMIT PATH_MAX
#else
# define SECURE_PATH_LIMIT 1024
#endif

Thanks,
Florian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]