Re: Benchmarked tcpserver dlopen() -> qmail_smtpd() VS tcpserver --> fork() --> exec qmail-smtpd

Charles Cazabon <[email protected]> Tue, 4 Apr 2017 15:20:41 -0600
Newsgroups gmane.mail.qmail.general
Message-ID <[email protected]>
Manvendra Bhangui <[email protected]> wrote:
> 
> No. I don't use a 25 Mib badmail file. That example was to make
> apparent the penalty imposed in the current architecture where every
> invocation of qmail-smtpd reads this file.

So to summarize: you manufactured a circumstance where qmail's control-file
architecture was a spectacularly bad fit for the artifical circumstance.  And
then you used that to justify your development of your feature?

That's fine; inventing and solving weird problems can be fun.  It's basically
intellecutal masturbation at that point.

But...

> My dlopen() architecture was completed months ago but I did not
> succeed in making the tcpserver symbols private to just the tcpserver
> executable. If the symbols can be private how can that be less secure
> then using exec() ?

<SFX: KLAXON SOUNDS>

Making the symbols private affects how the linker (static and dynamic) loads
and resolves names/symbols in the object code.

It does *not* make the code or data private.  Anyone who can trigger a heap
overflow, stack overflow, use-after-free, or other bug in your code can still
modify data and modify/execute code behind those non-public symbols.  You
could easily turn yourself into an open relay, or open your private control
information up to attackers on the net, or leak private information from your
db server to an attacker, etc.

i.e. you appear to have not understood when I said that the fork & exec design
of tcpserver was a security feature.

I *strongly* recommend you not expose this code of yours to the 'net at large
until you have had a competent security review done on it, as you seem not to
understand the security implications of your changes.

Charles
-- 
--------------------------------------------------------------------------
Charles Cazabon
GPL'ed software available at:                  http://pyropus.ca/software/
Read http://pyropus.ca/personal/writings/12-steps-to-qmail-list-bliss.html
--------------------------------------------------------------------------