diff options
| author | Tom Yu <tlyu@mit.edu> | 2007-04-03 19:23:52 +0000 |
|---|---|---|
| committer | Tom Yu <tlyu@mit.edu> | 2007-04-03 19:23:52 +0000 |
| commit | f7f39b9dda8998390da542fb9bbc2be563c8a557 (patch) | |
| tree | ddc2bfdf6bb73d2b961a88f61f57d66449c41c55 /src/kdc/kdc_util.c | |
| parent | fd6cef3500bd22b289be8c9c3561a11b87843f86 (diff) | |
| download | krb5-f7f39b9dda8998390da542fb9bbc2be563c8a557.tar.gz krb5-f7f39b9dda8998390da542fb9bbc2be563c8a557.tar.xz krb5-f7f39b9dda8998390da542fb9bbc2be563c8a557.zip | |
MITKRB5-SA-2007-002: buffer overflow in krb5_klog_syslog
Fix MITKRB5-SA-2007-002: buffer overflow in krb5_klog_syslog.
* src/lib/krb5/krb/get_in_tkt.c (krb5_klog_syslog): Use vsnprintf
if available.
Everything else: use precision fields on "%s" specifiers to truncate
logged strings, in case someone doesn't have vsnprintf.
ticket: new
target_version: 1.6.1
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19395 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kdc/kdc_util.c')
| -rw-r--r-- | src/kdc/kdc_util.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/kdc/kdc_util.c b/src/kdc/kdc_util.c index 7325d4572..aeabc5c65 100644 --- a/src/kdc/kdc_util.c +++ b/src/kdc/kdc_util.c @@ -404,6 +404,7 @@ kdc_get_server_key(krb5_ticket *ticket, krb5_keyblock **key, krb5_kvno *kvno) krb5_db_free_principal(kdc_context, &server, nprincs); if (!krb5_unparse_name(kdc_context, ticket->server, &sname)) { + limit_string(sname); krb5_klog_syslog(LOG_ERR,"TGS_REQ: UNKNOWN SERVER: server='%s'", sname); free(sname); |
