View Issue Details

IDProjectCategoryView StatusLast Update
0004683unrealircdpublic2016-05-22 15:58
ReporterdboyzAssigned Tosyzop 
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Product Version4.0.3.1 
Target VersionFixed in Version4.0.4 
Summary0004683: ircd becomes unresponsive if operclass parent does not exist (possible infinite loop)
DescriptionOriginally reported by Digerati and I am able to reproduce this issue.
This bug causes the ircd to be unresponsive upon /OPER and CPU usage of almost 100%.
Steps To ReproduceAssign operclass that has non-existing parent to oper block.
Start ircd and oper up.

Example operclass:
operclass kevin {
        parent local;
        privileges {
                kill;
                notice;
                tkl { shun; };
                override;
        };
};
TagsNo tags attached.
3rd party modules

Activities

syzop

2016-05-22 15:58

administrator   ~0019266

Thanks for the report!

commit 095330aa36a31ec24b90fc663ad3aca4a2c0e51c
Author: Bram Matthys <syzop@vulnscan.org>
Date: Sun May 22 15:56:51 2016 +0200

    No infinite loop when operclass::parent is not found. Reported by Digerati and dboyz (0004683).
    Should add code in config-tester for this to prevent this in the first place, though..

https://github.com/unrealircd/unrealircd/commit/095330aa36a31ec24b90fc663ad3aca4a2c0e51c

Issue History

Date Modified Username Field Change
2016-05-18 11:00 dboyz New Issue
2016-05-22 15:58 syzop Note Added: 0019266
2016-05-22 15:58 syzop Status new => resolved
2016-05-22 15:58 syzop Fixed in Version => 4.0.4
2016-05-22 15:58 syzop Resolution open => fixed
2016-05-22 15:58 syzop Assigned To => syzop