Thanks for information. I'll fix it as soon as it'll be possible for me
(probably today).
Im'm sorry for all troubles.
On Wed, 23 Apr 2008 02:31:50 +0200, Artem Russakovskii via RT
<bug-Passwd-Unix@rt.cpan.org> wrote:
Show quoted text>
> Tue Apr 22 20:31:45 2008: Request 35323 was acted upon.
> Transaction: Ticket created by Archon810
> Queue: Passwd-Unix
> Subject: Critical bug - corrupts /etc/shadow
> Broken in: 0.33
> Severity: Critical
> Owner: Nobody
> Requestors: artrus@netzero.net
> Status: new
> Ticket <URL:
http://rt.cpan.org/Ticket/Display.html?id=35323 >
>
>
> The current version of Passwd::Unix corrupted my /etc/shadow upon only
> calling the passwd() function. Immediately users started to report not
> being able to login.
>
> After examining the situation, I found that Passwd::Unix rearranges all
> users in /etc/shadow alphabetically, but it only does it to the
> usernames, and not the password hashes. Thus, if your /etc/shadow does
> not have users in alphabetical order (mine doesn’t, as users get
> appended as they’re created), you will get corrupted accounts. Moreover,
> users are now able to login to one OTHER account, not their own,
> depending on how the usernames got shuffled.
>
> Thankfully, I had a recent backup but I definitely don’t want anyone
> else to suffer.
>
> I’m using perl 5.10, SUSE 10.3. If it’s incompatible with SUSE, it needs
> to say so and exit.
> Artem Russakovskii.
--
$a=$a[8][67][9][0][51][84][82][90][69][76][69][67][75][73][0][131][85][75][65][83
][90][0][73][78][0][65][0][20][22][0][68][73][77][69][78][83][73][79][78][65][76]
[0][65][82][82][65][89]=sub{sub
_($){print$_[@z]}($z,$i)=@_;(++$i)while!$z->[$i];
$s+=$i;_ chr($i+32);$s!=2809&&&$a($z->[$i],$c>$e)};&$a(\@a,$d<$f);_
"\n";$a[8]=$a