A black hole for Internet advertisements
120 matches across 10 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | gravity.sh | 10 | # This file is copyright under the latest version of the EUPL. |
| MEDIUM | gravity.sh | 189 | # Create a temporary file. We don't use '--suffix' here because not all |
| MEDIUM | gravity.sh | 772 | # Define the generic error message |
| MEDIUM | advanced/Scripts/utils.sh | 9 | # This file is copyright under the latest version of the EUPL. |
| MEDIUM | advanced/Scripts/piholeNetworkFlush.sh | 9 | # This file is copyright under the latest version of the EUPL. |
| MEDIUM | advanced/Scripts/api.sh | 9 | # This file is copyright under the latest version of the EUPL. |
| MEDIUM | advanced/Scripts/piholeLogFlush.sh | 8 | # This file is copyright under the latest version of the EUPL. |
| MEDIUM | advanced/Scripts/updatecheck.sh | 8 | # This file is copyright under the latest version of the EUPL. |
| MEDIUM | advanced/Scripts/piholeCheckout.sh | 8 | # This file is copyright under the latest version of the EUPL. |
| MEDIUM | advanced/Scripts/update.sh | 10 | # This file is copyright under the latest version of the EUPL. |
| MEDIUM | advanced/Scripts/piholeDebug.sh | 8 | # This file is copyright under the latest version of the EUPL. |
| MEDIUM | advanced/Scripts/piholeDebug.sh | 143 | # Create a random temporary file for the log |
| MEDIUM | advanced/Scripts/piholeDebug.sh | 564 | # Create an array for these ports in use |
| MEDIUM | advanced/Scripts/query.sh | 9 | # This file is copyright under the latest version of the EUPL. |
| MEDIUM | advanced/Scripts/list.sh | 9 | # This file is copyright under the latest version of the EUPL. |
| MEDIUM | advanced/Scripts/version.sh | 8 | # This file is copyright under the latest version of the EUPL. |
| MEDIUM | advanced/Scripts/database_migration/gravity-db.sh | 10 | # This file is copyright under the latest version of the EUPL. |
| MEDIUM | automated install/uninstall.sh | 8 | # This file is copyright under the latest version of the EUPL. |
| MEDIUM | automated install/basic-install.sh | 9 | # This file is copyright under the latest version of the EUPL. |
| MEDIUM | automated install/basic-install.sh | 333 | # Create a fresh build directory with random name |
| MEDIUM | automated install/basic-install.sh | 1071 | # Create an empty adList file with appropriate permissions. |
| MEDIUM | automated install/basic-install.sh | 1384 | # Create a command from the package cache variable |
| MEDIUM | automated install/basic-install.sh | 2129 | # Create a random temporary file for the log |
| MEDIUM | automated install/basic-install.sh | 2358 | # Create the pihole user |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | test/conftest.py | 0 | allows for setup of commands we don't really want to have to run for real in unit tests |
| HIGH | test/conftest.py | 0 | allows for setup of commands we don't really want to have to run for real in unit tests |
| HIGH | test/conftest.py | 0 | allows for setup of commands we don't really want to have to run for real in unit tests |
| HIGH | test/conftest.py | 0 | cat <<eof> {script}\n{content}\neof chmod +x {script} rm -f /var/log/{scriptlog} |
| HIGH | test/conftest.py | 0 | cat <<eof> {script}\n{content}\neof chmod +x {script} rm -f /var/log/{scriptlog} |
| HIGH | test/conftest.py | 0 | cat <<eof> {script}\n{content}\neof chmod +x {script} rm -f /var/log/{scriptlog} |
| HIGH | test/conftest.py | 0 | cat <<eof> {script}\n{content}\neof chmod +x {script} rm -f /var/log/{scriptlog} |
| HIGH | test/test_any_automated_install.py | 0 | source /opt/pihole/basic-install.sh find_ipv6_information |
| HIGH | test/test_any_automated_install.py | 0 | source /opt/pihole/basic-install.sh find_ipv6_information |
| HIGH | test/test_any_automated_install.py | 0 | source /opt/pihole/basic-install.sh find_ipv6_information |
| HIGH | test/test_any_automated_install.py | 0 | source /opt/pihole/basic-install.sh find_ipv6_information |
| HIGH | test/test_any_automated_install.py | 0 | source /opt/pihole/basic-install.sh find_ipv6_information |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | gravity.sh | 146 | # Check if the backup directory exists |
| LOW | gravity.sh | 224 | # Read file line by line |
| LOW | gravity.sh | 260 | # Check if a column with name ${2} exists in gravity table with name ${1} |
| LOW | gravity.sh | 313 | # Check if gravity database needs to be updated |
| LOW | gravity.sh | 341 | # Check if gravity database needs to be updated |
| LOW | gravity.sh | 389 | # Check if a backup exists |
| LOW | gravity.sh | 525 | # Check if etag is supported by the locally available version of curl |
| LOW | gravity.sh | 552 | # Check if we can write to the save location file without actually creating |
| LOW | gravity.sh | 664 | # Check if this domain is blocked by Pi-hole but only if the domain is not a |
| LOW | gravity.sh | 671 | # Check if this IP matches any IP of the system |
| LOW | gravity.sh | 735 | # Check if the file exists and is a regular file (i.e. not a socket, fifo, tty, block). Might still be a symlink. |
| LOW | gravity.sh | 775 | # Check if the installed curl version supports the "-w %{errormsg}" option (available as of curl 7.75.0) |
| LOW | gravity.sh | 850 | # Check if $listCurlBuffer is a non-zero length file |
| LOW | gravity.sh | 1145 | # Check if DNS is available, no need to do any database manipulation if we're not able to download adlists |
| LOW | advanced/Scripts/api.sh | 78 | # Check if 2FA is required |
| LOW | advanced/Scripts/piholeCheckout.sh | 47 | # Check if FTL is installed - do this early on as FTL is a hard dependency for Pi-hole |
| LOW | advanced/Scripts/piholeCheckout.sh | 169 | # Check if requested branch is available |
| LOW | advanced/Scripts/piholeDebug.sh | 329 | # Check if a SELinux configuration file exists |
| LOW | advanced/Scripts/piholeDebug.sh | 360 | # Check if FirewallD service is enabled |
| LOW | advanced/Scripts/piholeDebug.sh | 474 | # Check if we are using IPv4 or IPv6 |
| LOW | advanced/Scripts/piholeDebug.sh | 593 | # Check if the right services are using the right ports |
| LOW | advanced/Scripts/piholeDebug.sh | 711 | # Check if Pi-hole can use itself to block a domain |
| LOW | advanced/Scripts/piholeDebug.sh | 921 | # Check if the file we want to view has a limit (because sometimes we just need a little bit of info |
| LOW | advanced/Scripts/piholeDebug.sh | 944 | # Check if the directory exists |
| LOW | advanced/Scripts/piholeDebug.sh | 1275 | # Check if tricorder.pi-hole.net is reachable and provide token |
| LOW | automated install/basic-install.sh | 455 | # Display the message and use the color table to preface the message with an "info" indicator |
| LOW | automated install/basic-install.sh | 532 | # Check if the directory is a repository |
| LOW | automated install/basic-install.sh | 750 | # Check if it's ULA, GUA, or LL by using the function created earlier |
| LOW | automated install/basic-install.sh | 1361 | # Check if Systemd-resolved's DNSStubListener is enabled and active on port 53 |
| LOW | automated install/basic-install.sh | 1499 | # Check if the pihole user exists and create if it does not |
| LOW | automated install/basic-install.sh | 1701 | # Check if the download exists and we can reach the server |
| LOW | automated install/basic-install.sh | 2074 | # Check if the installed version matches the latest version |
| LOW | automated install/basic-install.sh | 2176 | # Check if lighttpd is installed |
| LOW | automated install/basic-install.sh | 2217 | # Print the output of the FTL migration prefacing every line with four |
| LOW | automated install/basic-install.sh | 2281 | # Check if SELinux is Enforcing and exit before doing anything else |
| LOW | automated install/basic-install.sh | 2287 | # Check if this is a fresh install or an update/repair |
| LOW | automated install/basic-install.sh | 2313 | # Check if there is a usable FTL binary available on this architecture - do |
| LOW | automated install/basic-install.sh | 2405 | # Check if gravity database needs to be upgraded. If so, do it without rebuilding |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | gravity.sh | 1 | #!/usr/bin/env bash |
| LOW | gravity.sh | 641 | # from the given file by sending a custom If-None-Match header using the |
| LOW | gravity.sh | 781 | # If it is "7.75" then the current version is greater than or equal to "7.75.0". |
| LOW | gravity.sh | 1021 | echo -e "${OVER} ${TICK} ${str}" |
| LOW | advanced/Scripts/utils.sh | 1 | #!/usr/bin/env sh |
| LOW | advanced/Scripts/utils.sh | 41 | |
| LOW | advanced/Scripts/utils.sh | 121 | # Example getFTLConfigValue dns.piholePTR |
| LOW | advanced/Scripts/piholeNetworkFlush.sh | 1 | #!/usr/bin/env bash |
| LOW | advanced/Scripts/api.sh | 1 | #!/usr/bin/env sh |
| LOW | advanced/Scripts/piholeLogFlush.sh | 1 | #!/usr/bin/env bash |
| LOW | advanced/Scripts/updatecheck.sh | 1 | #!/usr/bin/env bash |
| LOW | advanced/Scripts/piholeCheckout.sh | 1 | #!/usr/bin/env bash |
| LOW | advanced/Scripts/update.sh | 1 | #!/usr/bin/env bash |
| LOW | advanced/Scripts/piholeDebug.sh | 1 | #!/usr/bin/env bash |
| LOW | advanced/Scripts/piholeDebug.sh | 661 | |
| LOW | advanced/Scripts/piholeDebug.sh | 681 | # sed logic breakdown: |
| LOW | advanced/Scripts/query.sh | 1 | #!/usr/bin/env sh |
| LOW | advanced/Scripts/list.sh | 1 | #!/usr/bin/env bash |
| LOW | advanced/Scripts/list.sh | 121 | LoginAPI |
| LOW | advanced/Scripts/version.sh | 1 | #!/usr/bin/env sh |
| LOW | advanced/bash-completion/pihole-ftl.bash | 1 | #!/bin/bash |
| LOW | automated install/uninstall.sh | 1 | #!/usr/bin/env bash |
| LOW | automated install/basic-install.sh | 1 | #!/usr/bin/env bash |
| LOW | automated install/basic-install.sh | 21 | set -e |
| LOW | .github/workflows/sync-back-to-dev.yml | 1 | name: Sync Back to Development |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | test/test_any_automated_install.py | 86 | host.run("command -v apt-get > /dev/null && apt-get install -qq man") |
| HIGH | test/test_any_automated_install.py | 87 | host.run("command -v dnf > /dev/null && dnf install -y man") |
| HIGH | test/test_any_automated_install.py | 88 | host.run("command -v yum > /dev/null && yum install -y man") |
| HIGH | test/test_any_automated_install.py | 89 | host.run("command -v apk > /dev/null && apk add mandoc man-pages") |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | test/test_any_utils.py | 1 | def test_key_val_replacement_works(host): |
| LOW | test/test_any_automated_install.py | 16 | def test_supported_package_manager(host): |
| LOW | test/test_any_automated_install.py | 33 | def test_selinux_not_detected(host): |
| LOW | test/test_any_automated_install.py | 47 | def get_directories_recursive(host, directory): |
| LOW | test/test_any_automated_install.py | 186 | def test_update_package_cache_success_no_errors(host): |
| LOW | test/test_any_automated_install.py | 200 | def test_update_package_cache_failure_no_errors(host): |
| LOW | test/test_any_automated_install.py | 441 | def test_package_manager_has_pihole_deps(host): |
| LOW | test/test_any_automated_install.py | 456 | def test_meta_package_uninstall(host): |
| LOW | test/test_centos_fedora_common_support.py | 24 | def test_selinux_enforcing_exit(host): |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | gravity.sh | 742 | # If we are root, we need to check if the pihole user has read permission |
| LOW | advanced/Scripts/piholeDebug.sh | 672 | # Next we need to check if Pi-hole can resolve a domain when the query is sent to it's IP address |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | gravity.sh | 1028 | # Usage: |
| LOW | advanced/Scripts/utils.sh | 25 | # Example usage: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | advanced/Scripts/updatecheck.sh | 31 | # if ${2} is = "master" we need to use the "latest" endpoint, otherwise, we simply return null |
| LOW | advanced/Scripts/piholeDebug.sh | 464 | # Otherwise, just use ping |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | test/test_any_automated_install.py | 2 | |
| LOW | test/test_any_automated_install.py | 3 |