Slashcode Log In
cvs.slashcode.com Compromised; No Code Altered; CVS is Back
As many of you have noticed, in early January, that machine was taken offline. Since that time, the Slash programmers have thoroughly audited the entire codebase. We conclude that no unauthorized changes were made -- neither to the publicly-available code as served from that machine, nor to the private code which is used internally on OSDN websites.
Nevertheless, we advise the maintainers of Slash sites which were using post-2.2.6 code from CVS to take several steps to ensure the integrity of their code. Also, to continue accessing new CVS code, it will be necessary to switch to the code's new CVS server at SourceForge.net; please click Read More for more information.
Although we have carefully inspected the entire CVS history of the Slash code as it existed at the moment the compromised machine was taken offline, and have concluded that it is untouched, there exists the possibility that unauthorized code was delivered by CVS to site administrators.
We want to emphasize that the possibility of this is remote. The intrusion was with a rootkit and the attacker appears to have taken no special actions with the machine, perhaps not even realizing its significance.
Nevertheless, prudent Slash site administrators who were/are using CVS code, and accessed CVS between early November and the time cvs.slashcode.com was taken offline in December, should take this opportunity to compare their last CVS download against the known-good CVS code now on SourceForge.net.
Confirming CVS Checkout Integrity
Slashcode CVS has moved from cvs.slashcode.com to cvs.sourceforge.net. Follow these steps if you used cvs.slashcode.com since early November. To do this, you will not need to change your old checkout of Slash; in fact, you might want to make a copy of it now so you have a record.
First, you need to determine what time or tag was the latest change to your old Slash checkout, and compare that checkout to a fresh checkout from that same time or tag. This will let you make sure that your old code was not compromised in any way.
If you were going by CVS tags as we recommend, and you know the last tag you used (maybe check the end of the sql/mysql/updates file), this will be easy.
If you weren't going by CVS tags, you'll need to determine the date of the last checkout of your Slash code from cvs.slashcode.com. One way to do this might be to check the timestamp on your CVS/Entries file. Another might be:
find yourcvsdir -mtime -40 | xargs ls -ld
which would list all files changed in the last 40 days.
Next, visit https://sourceforge.net/cvs/?group_id=4421 and read the instructions for checking out the current known-good CVS version anonymously using pserver. Then perform a checkout into a new directory; the command for this will be:
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot
/ slashcode login
(just hit return when it asks for a password)
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ slashcode co slash
Then, turn the clock back on that checkout to your last CVS checkout from cvs.slashcode.com. If you were on tag R_2_3_0_113, you would do:
cvs update -r R_2_3_0_113
If instead you knew your old checkout's time precisely, you might do:
cvs update -D '2003-12-13 14:15'
Finally, compare that new, known-good code against the code from your last checkout from cvs.slashcode.com. You could use, for example, GNU diff:
diff -r -xCVS -N -U3 slash.cvs.old slash.cvs.new
With the time or tag synchronized, any changes that you see should be your own. If you see any differences between your old codebase and the new known-good code that you don't recognize and/or can't explain, then we should make every attempt to reconcile those anomalies.
We want to know about anomalies, and we will help try to explain them. Please email us at security@slashcode.com. We are also available in the #slash channel on irc.slashnet.org, and you are welcome to post a comment on this story with any questions you may have.
Converting an Existing CVS Checkout to SF.Net
If you have not made any changes to the code you have been using from CVS, you can simply check out a new version and move your old code out of the way (or remove it). Again, see https://sourceforge.net/cvs/?group_id=4421 for instructions on SourceForge.net CVS.
On the other hand, if you have made substantial changes to our code, you will want to rewrite your CVS files, to tell CVS to talk to the new server.
Fortunately, this is simple. In each CVS directory in your checkout, rewrite the Root file to contain:
:pserver:anonymous@cvs.sourceforge.net:/cvsroot/s l ashcode
One way to do this is using find, xargs, and perl. In the top directory of your old cvs checkout, try:
find . -type f -name Root | xargs perl -lpi -e '$_=q{:pserver:anonymous@cvs.sourceforge.net:/cvs
r oot/slashcode}'
Once you verify your CVS/Root files look OK, cvs update should work normally.
Final Notes
The cvs.sourceforge.net server is heavily loaded; if you get an error, keep trying.
As always, please report security issues with the Slash code to security@slashcode.com.
We apologize for the long delay in restoring CVS access and making this information known, but we wanted to be absolutely sure that no unauthorized changes were made. Thank you for your patience.



Glad it's back (Score:1)
Templates (Score:1)
One related thing I'd like to know more about - merging the latest CVS template changes with template customizations I've made. I'm only on my second incarnation of my slash site, and I've never upgraded (I've just done two fresh installs). Since templates are stored in the slash database, I take it there are some extra steps req
Re:Templates (Score:1)
The easiest way to do what you want is to check out the CVS code, then make your template customizations directly to the checked-out files, not using the template editing tools on the website.
If you then do a "cvs update", our fixes and improvements will be added to your checked-out files, but your changes will remain intact.
(If one of our changes and your changes should happen to affect the same lines of code, CVS will warn you with a "C" in the left margin. You can grep the codebase on "<<<
Subversion is about to go 1.0 (Score:2)
"How about you interface with my ass? By biting it!" --Bender
Re:Subversion is about to go 1.0 (Score:2)
well, honestly, it'd probably be a pain in the ass for them to switch. they'd have to setup their own srccode_server again. and with them switching to use sf's, that's one server they don't have to maintain (or, minimally, let outside public access hit it)
lottadot [lottadot.com]
Re:Subversion is about to go 1.0 (Score:2)
However, just about anything is better than CVS. BK in particular, though it has the disadvantage of not being free.
"How about you interface with my ass? By biting it!" --Bender
a couple of questions (Score:1)
Re:a couple of questions (Score:2)
Sure. I did. Lots of us did.
Is 2.2.6 secure or are their known security problems with it
Look at the sourceforge Slash project page. Read the bugs list. None that I'm aware of, if that helps you.
lso I understand that the slashcode people don't have time to support upgrading to CVS from 2.2.6
Not true. Where did you read this? There are directions on how to do this in the documentation that comes with Slash.
are there any major differences that req
lottadot [lottadot.com]
Re:a couple of questions (Score:1)
>> lso I understand that the slashcode people don't have time to support upgrading to CVS from 2.2.6
> Not true. Where did you read this? There are directions on how to do this in the documentation that comes with Slash.
I skimmed through the INSTALL file and must have missed the two lines about upgrading 2.2 -> CVS. I just assumed at that point that the developers weren't providing any support at all and I'd have to wait for 2.3.0.
Thanks for the info though, I'm in the process of upgra
Re:a couple of questions (Score:1)
Can someone tell me if they just paste everything in and ignore all the errors if it will just work (or is it designed to?). My first error for example is about the "people" table which doesn't exi
Re:a couple of questions (Score:1)
bad luck (Score:2)
Thanks for the hard work sorting this out.
http://news.DiverseBooks.com/ SF and Computing Book News
changing your source tree (Score:2)
Here's one method to change them (worked on an OSX box, and a linux box, ymmv):
grep ":pserver:anonymous@cvs.slashcode.com:/cvsroot/sl
on ir
lottadot [lottadot.com]