Security update: version 0.1.13 beta-14

2006-10-13 Thread Robert Felber
changes:

core:

-   mylog() does now pass all arguments with a preceding %s
format-string to avoid, that remote format string may be executed.
See NOTEs.


NOTES:

If $DEBUG = 1; then policyd-weight may be vulnerable to a remote and local
sprintf vulnerability if old Sys::Syslog versions are in place. 
A syslog call for the cache queries was handed straight to the syslog() 
routine without preceding a format-string %s. If the MTA did not deny 
illegal characters then a remote user may send a special format string as 
sender which would execute at that debug message:

mylog(info=cache_query: $query $ip $sender $rate) if $DEBUG;


I cannot find information in which Sys::Syslog version this issue has been
fixed, as such I release this security fix. It is highly recommended to
update Sys::Syslog, too. This issue is rather old and might be read here:

http://news.perl-foundation.org/2005/12/updated_perl_modules_alleviate.html

You may check whether you are vulnerable following way:

a) look if you have $DEBUG = 1; set
if so:
b) telnet localhost 12525 (or the port under which policyd-weight runs)

[EMAIL PROTECTED]
helo_name=somedomain.com\n
client_address=1.2.3.4\n
request=smtpd_access_policy\n
\n
\n

   check your log if you have following entry:

Oct 13 12:15:05 devil postfix/policyd-weight[14219]: cache_query: nask 1.2.3.4 
[EMAIL PROTECTED]

if you see a 0 before somedomain.com you are vulnerable, if you see
an %i you are not vulnerable.




-- 
Robert Felber (PGP: 896CF30B)
Munich, Germany


Policyd-weight Mailinglist - http://www.policyd-weight.org/


Re: Security update: version 0.1.13 beta-14

2006-10-13 Thread Justin Piszcz
Must have been because of 0.1.13 + 10/13 on Friday? :)

Upgraded to 0.1.13-beta14!

Justin.

On Fri, 13 Oct 2006, Robert Felber wrote:

 changes:
 
 core:
 
 -   mylog() does now pass all arguments with a preceding %s
 format-string to avoid, that remote format string may be executed.
 See NOTEs.
 
 
 NOTES:
 
 If $DEBUG = 1; then policyd-weight may be vulnerable to a remote and local
 sprintf vulnerability if old Sys::Syslog versions are in place. 
 A syslog call for the cache queries was handed straight to the syslog() 
 routine without preceding a format-string %s. If the MTA did not deny 
 illegal characters then a remote user may send a special format string as 
 sender which would execute at that debug message:
 
 mylog(info=cache_query: $query $ip $sender $rate) if $DEBUG;
 
 
 I cannot find information in which Sys::Syslog version this issue has been
 fixed, as such I release this security fix. It is highly recommended to
 update Sys::Syslog, too. This issue is rather old and might be read here:
 
 
 http://news.perl-foundation.org/2005/12/updated_perl_modules_alleviate.html
 
 You may check whether you are vulnerable following way:
 
 a) look if you have $DEBUG = 1; set
 if so:
 b) telnet localhost 12525 (or the port under which policyd-weight runs)
 
 [EMAIL PROTECTED]
 helo_name=somedomain.com\n
 client_address=1.2.3.4\n
 request=smtpd_access_policy\n
 \n
 \n
 
check your log if you have following entry:
 
 Oct 13 12:15:05 devil postfix/policyd-weight[14219]: cache_query: nask 
 1.2.3.4 [EMAIL PROTECTED]
 
 if you see a 0 before somedomain.com you are vulnerable, if you see
 an %i you are not vulnerable.
 
 
 
 
 -- 
 Robert Felber (PGP: 896CF30B)
 Munich, Germany
 
 
 Policyd-weight Mailinglist - http://www.policyd-weight.org/
 


Policyd-weight Mailinglist - http://www.policyd-weight.org/