Skip to content
Snippets Groups Projects
  1. Feb 16, 2021
  2. Feb 15, 2021
    • Rob Swindell's avatar
      Disable FTP Bounce (FXP) support by default · f803b7bc
      Rob Swindell authored
      The Synchronet FTP server has (since 2001) disallowed PORT/EPRT/LPRT commands with a "reserved" port number (i.e. < 1024) as recommended by RFC2577 and when attempted, would log a "SUSPECTED FTP BOUNCE HACK ATTEMPT" in the data/hack.log file.
      
      However, as Karloch (HISPAMSX) pointed out recently, an FTP Bounce Attack to other TCP ports was still possible (and detected/reported by some security scans as a potential vulnerability).
      
      So, reject all PORT/EPRT/LPRT commands that specify an IP address other than that used for the control TCP connection unless the sysop specifically enables the new "ALLOW_BOUNCE" option flag (in the [ftp] section of sbbs.ini) and the user is an authenticated non-guest/anonymous user. And as before, log the attempt as a suspected hack attempt.
      
      This change also removes the "Directory File Access" checkbox from the Synchronet Control Panel for Windows as that feature is "going away" soon (or at least, it won't be an FTP-specific option/feature if it remains).
      f803b7bc
    • Rob Swindell's avatar
      Disable FTP Bounce (FXP) support by default · 883ea5b8
      Rob Swindell authored
      The Synchronet FTP server has (since 2001) disallowed PORT/EPRT/LPRT commands with a "reserved" port number (i.e. < 1024) as recommended by RFC2577 and when attempted, would log a "SUSPECTED FTP BOUNCE HACK ATTEMPT" in the data/hack.log file.
      
      However, as Karloch (HISPAMSX) pointed out recently, an FTP Bounce Attack to other TCP ports was still possible (and detected/reported by some security scans as a potential vulnerability).
      
      So, reject all PORT/EPRT/LPRT commands that specify an IP address other than that used for the control TCP connection unless the sysop specifically enables the new "ALLOW_BOUNCE" option flag (in the [ftp] section of sbbs.ini) and the user is an authenticated non-guest/anonymous user. And as before, log the attempt as a suspected hack attempt.
      
      This change also removes the "Directory File Access" checkbox from the Synchronet Control Panel for Windows as that feature is "going away" soon (or at least, it won't be an FTP-specific option/feature if it remains).
      883ea5b8
    • Rob Swindell's avatar
      Address more Coverity issues · 141e01bf
      Rob Swindell authored
      Reverted the SAFECOPY() NULL source-pointer magic "(null)" string thing as that caused a different Coverity issue. Explicitly check for NULL at the call-sites instead.
      141e01bf
    • Rob Swindell's avatar
      Address more Coverity issues · dd000f6e
      Rob Swindell authored
      Reverted the SAFECOPY() NULL source-pointer magic "(null)" string thing as that caused a different Coverity issue. Explicitly check for NULL at the call-sites instead.
      dd000f6e
    • Rob Swindell's avatar
    • Rob Swindell's avatar
    • Rob Swindell's avatar
      8cb40880
    • Rob Swindell's avatar
      32c279de
    • Rob Swindell's avatar
      Address Coverity-reported issues · 13ab06ea
      Rob Swindell authored
      Hopefully not introducing any bugs in the process.
      13ab06ea
    • Rob Swindell's avatar
      Address Coverity-reported issues · d02fc1a2
      Rob Swindell authored
      Hopefully not introducing any bugs in the process.
      d02fc1a2
    • Rob Swindell's avatar
      Fix exception (crash) when sending file attachments · 6b9767d3
      Rob Swindell authored
      The new subject line parsing (with quoted-filename support) had a NULL-pointer deref built-in.
      
      Also fixed a few Coverity-reported issues.
      6b9767d3
    • Rob Swindell's avatar
      Update comment header block. · 00bb9dac
      Rob Swindell authored
      00bb9dac
    • Rob Swindell's avatar
      Don't use uninitialized variable in errormsg() · 855aac83
      Rob Swindell authored
      Caught by Coverity.
      855aac83
    • Rob Swindell's avatar
      Handle filelength() failure gracefully · ec7e5588
      Rob Swindell authored
      Addresses Coverity's NEGATIVE_RETURNS bug-checker issue.
      ec7e5588
    • Rob Swindell's avatar
      Fix memory leaks in error paths of js_show_msg_header() · 42f7198c
      Rob Swindell authored
      Identified by Coverity.
      42f7198c
    • Rob Swindell's avatar
    • Rob Swindell's avatar
      When replying to PING netmails, use the destination addr as the origaddr · 92030aa1
      Rob Swindell authored
      As tested and reported in FIDONEWS by Michiel van der Vlist, 2:280/5555, SBBSecho would use the "best match" FidoNet AKA for the originating address when replying to PING netmail messages and not necessarily the original destination address of the ping request. For systems that have multiple addresses (AKAs) that could be considered appropriate originating addresses for the requesting node address (e.g. multiple addresses in the same zone or zone/net), this could cause a confusion for the PING requester.
      
      The create_netmail() function now accepts an optional source (orig) address parameter and the PING response logic passes the netmail's destination address for the reply message's originating (source) address.
      
      I noticed that AreaMgr responses also follow the same logic as PING responses (just use the best-fit AKA, not necessarily the same address as the original request's destination address) - but I did not choose to address that "issue" at this time.
      92030aa1
  3. Feb 14, 2021
    • Rob Swindell's avatar
      0e72a720
    • Rob Swindell's avatar
    • Rob Swindell's avatar
      Make the node.cnf loading optional in load_cfg() · 0feaff30
      Rob Swindell authored
      Don't return an error if the node#/node.cnf file can't be opened for all uses of load_cfg() except from the terminal server. This fixes #214 for Tracker1
      0feaff30
    • Rob Swindell's avatar
      Strip/ignore high (parity) bit in ZPAD, ZDLE, and hex headers · 4855d6ab
      Rob Swindell authored
      The previous committed fix/issue raised some additional concerns about this "parity" bit:
      
      Something I didn't notice before from the ZMODEM spec:
      "The hex header receiving routine ignores parity."
      
      And looking at lrzsz's zm.c, I see it goes even further and ignores the "parity" bit on the ZPAD and ZDLE bytes proceeding the frame encoding byte as well as in the frame encoding byte itself (so ZHEX, 'B' 0x22 and 0xC2 should be treated as equivalent).
      
      I find it strange that some ZMODEM implementations (e.g. chuck's zshhdr()) would send the terminating LF with the even-parity bit set, but not set the even-parity flag for any of the frame content bytes. And then, expect that the parity flag may be set on incoming hex headers. I suppose it makes sense for 7-E-1 connections, but then the transmitted terminating LF would have had its parity flag set automatically (would not need to be set manually in the code). Add to the mysteries of ZMODEM that will likely never be solved.
      4855d6ab
  4. Feb 13, 2021
    • Rob Swindell's avatar
      Accept hex headers terminated with 0x8A · dfda3b0f
      Rob Swindell authored
      Some ZMODEM implementations set the high bit (even parity?) when sending this '\n' terminator.
      As reported via IRC:
      <Keyop> sexyz: !zmodem_recv_hex_header HEX header not terminated with LF: 138 (8Ah)
      dfda3b0f
  5. Feb 11, 2021
  6. Feb 10, 2021
  7. Feb 07, 2021
  8. Feb 05, 2021
  9. Feb 01, 2021
  10. Jan 31, 2021
    • Rob Swindell's avatar
      Typo · 339652f4
      Rob Swindell authored
      339652f4
    • Rob Swindell's avatar
      Apply Deuce's feedback on the usage/syntax help output. · d01cd5dd
      Rob Swindell authored
      Also change the wording of the -D option to be more descriptive.
      d01cd5dd
    • Rob Swindell's avatar
      Help updates for echolist config section · 1f067a49
      Rob Swindell authored
      The "EchoLists" help menu only worked when you first enter the sub-menu and would get wiped out by subsequent child-menu help text.
      
      Filled out the "Configuring an EchoList" help text.
      
      Fixed issue seen where deleting an EchoList's Required Key didn't set the "dirty config" flag, so saving of changes was not prompted when exiting (if that was the only change made).
      1f067a49
  11. Jan 30, 2021
Loading