Bug 131848 - iptables has a couple out of bounds accesses
Summary: iptables has a couple out of bounds accesses
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: iptables
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Thomas Woerner
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: FC3Target FC4Target
TreeView+ depends on / blocked
 
Reported: 2004-09-05 16:09 UTC by Steve Grubb
Modified: 2007-11-30 22:10 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2005-03-18 16:48:57 UTC


Attachments (Terms of Use)
Patch that addresses the oob accesses (1.81 KB, patch)
2004-09-05 16:10 UTC, Steve Grubb
no flags Details | Diff

Description Steve Grubb 2004-09-05 16:09:18 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.4.2)
Gecko/20040308

Description of problem:
There are a couple out of bounds accesses in iptables REJECT and rpcs
extensions. They would print garbage, core dump the program, or act
badly. The net effect could be bad if it choked - leaving a table in
an unknown state.

I will attach a patch that fixes it.

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

How reproducible:
Didn't try

Steps to Reproduce:
1. Found in code review.

Additional info:

Comment 1 Steve Grubb 2004-09-05 16:10:44 UTC
Created attachment 103490 [details]
Patch that addresses the oob accesses

Comment 2 Thomas Woerner 2004-09-16 16:03:55 UTC
The second part of the patch is accepted by the netfilter core team,
but the first part is not.

I will apply the second part, but not the first.

Comment 3 Steve Grubb 2004-09-16 16:23:58 UTC
What's wrong with the first part? 

Here's the core of the problem:

for (i=0; i<sizeof(reject_table)/sizeof(struct reject_names); i++) { 
              if (reject_table[i].with == reject->with)
                        break;
}
printf("reject-with %s ", reject_table[i].name);

What if the break is never hit and i > the last legal entry. The
unconditional printf will index beyond the reject_table.

Comment 4 Thomas Woerner 2005-03-18 16:48:57 UTC
Fixed in rawhide in rpm iptables-1.3.0-2 or newer.


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