krb5 commit [krb5-1.11]: Fix kpasswd UDP ping-pong [CVE-2002-2443]

Tom Yu tlyu at MIT.EDU
Tue May 14 21:18:45 EDT 2013


https://github.com/krb5/krb5/commit/70fd4a2843c47c750ef84bb9322818d4795bd983
commit 70fd4a2843c47c750ef84bb9322818d4795bd983
Author: Tom Yu <tlyu at mit.edu>
Date:   Fri May 3 16:26:46 2013 -0400

    Fix kpasswd UDP ping-pong [CVE-2002-2443]
    
    The kpasswd service provided by kadmind was vulnerable to a UDP
    "ping-pong" attack [CVE-2002-2443].  Don't respond to packets unless
    they pass some basic validation, and don't respond to our own error
    packets.
    
    Some authors use CVE-1999-0103 to refer to the kpasswd UDP ping-pong
    attack or UDP ping-pong attacks in general, but there is discussion
    leading toward narrowing the definition of CVE-1999-0103 to the echo,
    chargen, or other similar built-in inetd services.
    
    Thanks to Vincent Danen for alerting us to this issue.
    
    CVSSv2: AV:N/AC:L/Au:N/C:N/I:N/A:P/E:P/RL:O/RC:C
    
    (cherry picked from commit cf1a0c411b2668c57c41e9c4efd15ba17b6b322c)
    
    ticket: 7637
    version_fixed: 1.11.3
    status: resolved

 src/kadmin/server/schpw.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/kadmin/server/schpw.c b/src/kadmin/server/schpw.c
index 5b5bd9b..b4ff1a4 100644
--- a/src/kadmin/server/schpw.c
+++ b/src/kadmin/server/schpw.c
@@ -52,7 +52,7 @@ process_chpw_request(krb5_context context, void *server_handle, char *realm,
         ret = KRB5KRB_AP_ERR_MODIFIED;
         numresult = KRB5_KPASSWD_MALFORMED;
         strlcpy(strresult, "Request was truncated", sizeof(strresult));
-        goto chpwfail;
+        goto bailout;
     }
 
     ptr = req->data;
@@ -67,7 +67,7 @@ process_chpw_request(krb5_context context, void *server_handle, char *realm,
         numresult = KRB5_KPASSWD_MALFORMED;
         strlcpy(strresult, "Request length was inconsistent",
                 sizeof(strresult));
-        goto chpwfail;
+        goto bailout;
     }
 
     /* verify version number */
@@ -80,7 +80,7 @@ process_chpw_request(krb5_context context, void *server_handle, char *realm,
         numresult = KRB5_KPASSWD_BAD_VERSION;
         snprintf(strresult, sizeof(strresult),
                  "Request contained unknown protocol version number %d", vno);
-        goto chpwfail;
+        goto bailout;
     }
 
     /* read, check ap-req length */
@@ -93,7 +93,7 @@ process_chpw_request(krb5_context context, void *server_handle, char *realm,
         numresult = KRB5_KPASSWD_MALFORMED;
         strlcpy(strresult, "Request was truncated in AP-REQ",
                 sizeof(strresult));
-        goto chpwfail;
+        goto bailout;
     }
 
     /* verify ap_req */


More information about the cvs-krb5 mailing list