fedora 23
crypto weakness #543

4

Weakness Breakdown


Definition:

This weakness involves creating non-standard or non-tested algorithms, using weak algorithms or applying cryptographic algorithms incorrectly. Algorithms that were once considered safe are commonly later found to be unsafe, as the algorithms were broken.

Warning code(s):

The crypt functions use a poor one-way hashing algorithm; since they only accept passwords of 8 characters or fewer and only a two-byte salt, they are excessively vulnerable to dictionary attacks given today's faster computing equipment.

File Name:

aqbanking-5.5.1/src/plugins/backends/aqhbci/plugin/msglayer/message.c

Context:

The highlighted line of code below is the trigger point of this particular Fedora 23 crypto weakness.

     return;
  }
  DBG_INFO(AQHBCI_LOGDOMAIN, "Logging to file [%s]", logFile);

  db=GWEN_DB_Group_new("header");
  u=AH_Dialog_GetDialogOwner(msg->dialog);
  h=AH_Dialog_GetHbci(msg->dialog);
  assert(h);

  GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS,
                       "mode",
                       AH_CryptMode_toString(AH_User_GetCryptMode(u)));
  GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS,
		      "rdhtype",
		      AH_User_GetRdhType(u));
  GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS,
		      "hbciVersion",
		      AH_User_GetHbciVersion(u));
  GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS,
		       "tokenType",
		       AH_User_GetTokenType(u));

  GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS,
                       "crypt",
                       crypt?"yes":"no");
  GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS,
                       "sender",
                       rec?"bank":"user");
  GWEN_Version(&vmajor, &vminor, &vpatchlevel, &vbuild);
  snprintf(vbuf, sizeof(vbuf)-1, "%d.%d.%d.%d",
	   vmajor, vminor, vpatchlevel, vbuild);
  vbuf[sizeof(vbuf)-1]=0;
  GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS,
		       "gwenhywfar", vbuf);

  GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS,
                       "aqhbci",
                       AQHBCI_VERSION_FULL_STRING);
  GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS,
                       "appname",
                       AH_HBCI_GetProductName(h));
  GWEN_DB_SetCharValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS,
                       "appversion",
		       AH_HBCI_GetProductVersion(h));
  GWEN_DB_SetIntValue(db, GWEN_DB_FLAGS_OVERWRITE_VARS,
		      "size",
		      GWEN_Buffer_GetUsedBytes(buf));
  if (GWEN_Directory_GetPath(logFile,
			     GWEN_PATH_FLAGS_VARIABLE)) {
    DBG_ERROR(AQHBCI_LOGDOMAIN, 

The registered trademark Linux® is used pursuant to a sublicense from the Linux Foundation, the exclusive licensee of Linus Torvalds, owner of the mark on a world­wide basis.