As a work-around try adding a temporary, meaningless attribute using a spreadsheet.
Open the DBF file, which is part of the shapefile, in OpenOffice Calc or an older version of Excel (see this link regarding DBFs in Excelthis link regarding DBFs in Excel). Add a name to the first empty column, making sure the name is short and doesn't include spaces or special characters. Enter the same meaningless value, 1 or A for example, in that new column for every row that already has data. Save the file and exit the spreadsheet.
QGIS should now see an attribute in the shapefile and allow further edits. The temporary attribute can be deleted after you've entered actual attributes using QGIS.