Bug 678324 - telnetd sockaddr is too small for IPV6 connections
Summary: telnetd sockaddr is too small for IPV6 connections
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: telnet
Version: 6.0
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: rc
: ---
Assignee: Adam Tkac
QA Contact: qe-baseos-daemons
URL:
Whiteboard:
Depends On:
Blocks: 678336
TreeView+ depends on / blocked
 
Reported: 2011-02-17 15:42 UTC by Martin Poole
Modified: 2018-11-14 14:26 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Prior to this update, the in.telnetd service used the sockaddr structure to store IPv6 addresses. This structure was too small in its size, and as a result, subsequent logins wrote incorrect records about the last login source. With this update, in.telnetd now uses the sockaddr_storage structure, which is large enough in its size to be able to store IPv6 addresses.
Clone Of:
: 678336 (view as bug list)
Environment:
Last Closed: 2011-07-20 12:16:32 UTC
Target Upstream Version:


Attachments (Terms of Use)
patch to using sockadd_storage structure for connection details (789 bytes, patch)
2011-02-17 15:43 UTC, Martin Poole
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2011:0963 0 normal SHIPPED_LIVE telnet bug fix update 2011-07-20 12:16:27 UTC

Description Martin Poole 2011-02-17 15:42:27 UTC
Description of problem:

The sockaddr structure in telnetd.c main() is too small to hold an IPV6 address when converted to string form.  This corrupt value is then transferred to utmp to create a permanent bad record.


Version-Release number of selected component (if applicable):

telnet-server-0.17-46.el6


How reproducible:

Always.

Steps to Reproduce:
1. telnet to IPV6 machine with no DNS record for IP
2. echo $REMOTEHOST
3.
  
Actual results:

$ telnet fd00:6969:6969:6969::91
Trying fd00:6969:6969:6969::91...
Connected to fd00:6969:6969:6969::91.
Escape character is '^]'.

login: test
Password: 
Last login: Thu Feb 17 15:26:32 from fd00:6969:6969:6969:37:a6f5:e045:84bf%15237108

[test@host-91 ~]$ echo $REMOTEHOST
fd00:6969:6969:6969:82:59c7:70af:9dbf%6078452


Expected results:

$ telnet fd00:6969:6969:6969::91
Trying fd00:6969:6969:6969::91...
Connected to fd00:6969:6969:6969::91.
Escape character is '^]'.

login: test
Password: 
Last login: Thu Feb 17 15:28:54 from fd00:6969:6969:6969:82:59c7:70af:9dbf%6078452

[test@host-91 ~]$ echo $REMOTEHOST
fd00:6969:6969:6969::12

Additional info:

Comment 1 Martin Poole 2011-02-17 15:43:19 UTC
Created attachment 479354 [details]
patch to using sockadd_storage structure for connection details

Comment 2 RHEL Program Management 2011-02-17 15:57:55 UTC
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated
in the current release, Red Hat is unfortunately unable to
address this request at this time. Red Hat invites you to
ask your support representative to propose this request, if
appropriate and relevant, in the next release of Red Hat
Enterprise Linux. If you would like it considered as an
exception in the current release, please ask your support
representative.

Comment 3 Adam Tkac 2011-03-18 14:59:40 UTC
The patch is OK, thanks for it.

Comment 7 Petr Kovar 2011-07-04 17:07:21 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Prior to this update, the in.telnetd service used the sockaddr structure to store IPv6 addresses. This structure was too small in its size, and as a result, subsequent logins wrote incorrect records about the last login source. With this update, in.telnetd now uses the sockaddr_storage structure, which is large enough in its size to be able to store IPv6 addresses.

Comment 9 errata-xmlrpc 2011-07-20 12:16:32 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2011-0963.html


Note You need to log in before you can comment on or make changes to this bug.