netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* iproute2: tc: potential buffer overflow
@ 2019-08-31 13:13 tomaspaukrt
  2019-08-31 15:37 ` Stephen Hemminger
  0 siblings, 1 reply; 3+ messages in thread
From: tomaspaukrt @ 2019-08-31 13:13 UTC (permalink / raw)
  To: netdev

[-- Attachment #1: Type: text/plain, Size: 149 bytes --]

Hi,

there are two potentially dangerous calls of strcpy function in the program "tc". In the attachment is a patch that fixes this issue.

Tomas

[-- Attachment #2: iproute2-overflow-fix.patch --]
[-- Type: text/x-diff, Size: 945 bytes --]

diff --git a/tc/m_ipt.c b/tc/m_ipt.c
index cc95eab7..cb64380b 100644
--- a/tc/m_ipt.c
+++ b/tc/m_ipt.c
@@ -269,7 +269,8 @@ static int build_st(struct xtables_target *target, struct ipt_entry_target *t)
 		} else {
 			target->t = t;
 		}
-		strcpy(target->t->u.user.name, target->name);
+		strncpy(target->t->u.user.name, target->name,
+			sizeof(target->t->u.user.name) - 1);
 		return 0;
 	}
 
diff --git a/tc/m_xt_old.c b/tc/m_xt_old.c
index 6a4509a9..974ac496 100644
--- a/tc/m_xt_old.c
+++ b/tc/m_xt_old.c
@@ -177,7 +177,8 @@ build_st(struct xtables_target *target, struct xt_entry_target *t)
 	if (t == NULL) {
 		target->t = fw_calloc(1, size);
 		target->t->u.target_size = size;
-		strcpy(target->t->u.user.name, target->name);
+		strncpy(target->t->u.user.name, target->name,
+			sizeof(target->t->u.user.name) - 1);
 		set_revision(target->t->u.user.name, target->revision);
 
 		if (target->init != NULL)

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-09-07 13:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-08-31 13:13 iproute2: tc: potential buffer overflow tomaspaukrt
2019-08-31 15:37 ` Stephen Hemminger
2019-09-07 13:43   ` tomaspaukrt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).